Symfony流程提交表
我有一个一般性的问题,当前处理提交表单的正确方式应该是什么样的,symfony文档不太清楚什么是正确的方式。Symfony流程提交表,symfony,Symfony,我有一个一般性的问题,当前处理提交表单的正确方式应该是什么样的,symfony文档不太清楚什么是正确的方式。 目前我一直在做这样的事情: if ($request->isMethod(Request::METHOD_POST)) { $form->handle($request) if ($form->isValid()) {...} } 但我也看到了一些例子(也在symfony文档中),其中使用了这种说法: $form->handle($request);
目前我一直在做这样的事情:
if ($request->isMethod(Request::METHOD_POST)) {
$form->handle($request)
if ($form->isValid()) {...}
}
但我也看到了一些例子(也在symfony文档中),其中使用了这种说法:
$form->handle($request);
if ($form->isSubmitted() && $form->isValid()) {...}
那么,是否有人知道当前遵循symfony开发者指南的正确方法是什么,应该使用第一条语句还是第二条语句,或者两者结合使用(尽管这会使$request->isMethod调用或$form->isSubmitted多余)通常这两种方法都是正确的。
仅第一个示例检查了请求类型,而第二个示例仅检查提交并进行验证。通常这两种方法都是正确的。
第一个示例检查请求类型,第二个示例检查提交并进行验证。从技术上讲,您只需要:
if ($form->isValid()) {
...
}
那是因为:
检查包括isValid()
检查李>isSubmitted
检查不一定正确(表单可以使用与isMethod(Request::METHOD\u POST)
POST不同的方法
if ($form->isSubmitted() && $form->isValid()) {
...
}
有关详细信息,请参阅
附加信息
如果您想在实际验证数据之前执行一些特殊任务,您可能需要单独使用isSubmitted
方法
if ($form->isSubmitted()) {
...
if ($form->isValid()) {
...
}
}
从技术上讲,您只需要:
if ($form->isValid()) {
...
}
那是因为:
检查包括isValid()
检查isSubmitted
检查不一定正确(表单可以使用与isMethod(Request::METHOD\u POST)
POST不同的方法
if ($form->isSubmitted() && $form->isValid()) {
...
}
有关详细信息,请参阅
附加信息
如果您想在实际验证数据之前执行一些特殊任务,您可能需要单独使用isSubmitted
方法
if ($form->isSubmitted()) {
...
if ($form->isValid()) {
...
}
}
我知道这两种方法都有效,但必须有一个准则,即哪一种是“标准”代码样式第一个示例只需检查请求方法--POST/GET/PUT等。在本例中,如果请求不是POST方法,则不会处理表单。在第二个示例中--表单将使用任何请求方法处理,因此它只需使用
$form->isSubmitted()
。同样的事情是这样的:如果($request->isMethod(request::METHOD_POST)| |$request->isMethod(request::METHOD_GET))…
。那么在第二个例子中,简单地忽略了这个检查。我知道这两种方法都有效,但必须有一个准则,哪一个是“标准的”代码样式第一个示例只需检查请求方法--POST/GET/PUT等。在本例中,如果请求不是POST方法,则不会处理表单。在第二个示例中,表单将使用任何请求方法进行处理,因此它只需使用$form->isSubmitted()
。类似于此:if($request->isMethod(request::method\u POST)||$request->isMethod(request::METHOD_GET))…
。所以在第二秒钟中,简单地省略了这个检查。