我在使用 Symfony2 生成的 CRUD 表单时遇到问题。 (与MongoDB文档,但我不认为这是相关的)
在我的 Controller 的 createAction() 方法中,当我调试表单结果时:
$form->isValid() // returns false
$form->getErrors() // returns en empty array(0) {}
所以,我在我的 Twig 模板上使用 form_errors(form)
没有得到任何东西(这似乎很正常,因为 $form->getErrors()
空返回)
并且写入的值不会以形式替换...
有人有想法吗?
最佳答案
首先要理解的是验证是在模型上完成的,而不是在表单上。表单可以包含错误,但前提是它有一个映射到未验证的属性的字段。因此,如果您的表单不包含无效字段(可能是对不在表单中的属性的 NotNull
断言),则不会显示错误。
第二件事是 $form->getErrors()
只会显示该级别的错误,每个表单子(monad)项都可以包含自己的错误。因此,如果您想检查错误,您应该循环遍历字段并对每个字段调用 getErrors。 Form 类上的 getErrors
方法可能会以这种方式进行欺骗。
关于forms - Symfony2 无效形式且无错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208992/