forms - Symfony2 无效形式且无错误

标签 forms validation symfony

我在使用 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/

相关文章:

html - IE 在单击按钮元素时发送内部 HTML

css - 复选框图像样式在 IE 上的表单中无法正常工作

jquery - 控制 HTML5 验证气球滚动?

python - Django:根据表单中的用户输入重定向到另一个网址

php - Laravel 验证规则的自定义错误消息 : Dimensions

jquery - 使用 JQuery Validate Plugin 验证具有相同名称的多个表单字段

symfony - Symfony2的工作流程?

java - 良好实践 - Spring 验证 - 前端与后端

node.js - 使用 symfonyrabbitMq 进行 NodeJs 通信

Symfony2 功能测试 InvalidArgumentException : The current node list is empty