Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 将表单与原始输入传递到服务层_Validation_Zend Framework2_Service Layer_Zend Form2 - Fatal编程技术网

Validation 将表单与原始输入传递到服务层

Validation 将表单与原始输入传递到服务层,validation,zend-framework2,service-layer,zend-form2,Validation,Zend Framework2,Service Layer,Zend Form2,验证表单并将其过滤后的输入传递给服务层,还是将原始输入传递给服务层,并让服务验证输入(有或没有表单实例)更好 显然,如果是后者,控制器仍然需要访问表单,以便将表单发送到视图进行渲染。如果是这样,您会通过服务($service->getRegistrationForm())访问表单吗 另见: 表单本身应该处理验证,ZF2在表单类上有启用此功能的方法 在控制器上的一个操作中,如果需要表单中的某种数据,我首先要做的事情之一就是验证表单($form->isValid())。如果表单无效,控制器将立

验证表单并将其过滤后的输入传递给服务层,还是将原始输入传递给服务层,并让服务验证输入(有或没有表单实例)更好

显然,如果是后者,控制器仍然需要访问表单,以便将表单发送到视图进行渲染。如果是这样,您会通过服务($service->getRegistrationForm())访问表单吗

另见:


表单本身应该处理验证,ZF2在
表单
类上有启用此功能的方法

在控制器上的一个操作中,如果需要表单中的某种数据,我首先要做的事情之一就是验证表单(
$form->isValid()
)。如果表单无效,控制器将立即处理此问题。通常这涉及直接返回带有表单的
ViewModel
(现在包含数据+验证结果),以便用户可以看到任何验证错误

我不明白你为什么不检查你是否有有效的数据或你知道无效的数据而费心进一步研究。事实上,数据甚至可能是恶意的(CSRF,由表单验证处理)


基本上,传递原始输入和过滤输入的问题从未真正出现过。

我也是这样做的。GitHub上的一个问题让我怀疑我是否做了正确的事情。我只是在考虑在MVC上下文之外使用服务的情况,例如在web服务中。在这种情况下,您必须复制过滤、验证、访问控制等,这并不理想。也许我想的太多了。。。这种情况经常发生。:-)