Symfony2查找字段中的表单错误


symfony2 find field in form errors

我有一个复杂的表单,其中有很多字段,它是由其他开发人员创建的。提交表单时,会出现非常常见的错误

该值不能为空。

我需要找出它的值是多少。我知道实体映射和"nullable=false"属性,我真正需要的是,最佳实践/技术或只是一个解决方案,找出这个缺失的值是什么。这是一个复杂的表单,如果有不同的路径,而不是通过实体和添加到它的所有子字段,我将非常感激。

我很确定Symfony开发者会考虑到这一点,我需要找到如何解决这个问题?

如果您这样做是为了调试,您可以这样做:

{{ dump(form.getErrors(TRUE,TRUE)) }}

对于生产,您需要放置适当的验证约束消息。例如,使用注释:

use Symfony'Component'Validator'Constraints'NotBlank;
/**
 * @NotBlank(message="Title should not be empty")
 */
private $title;

之后,error应该显示上面的消息,而不是一般的消息。

  • formtype中的form字段可能附加了new NotBlank()类。
  • 实体中可能有@Assert'NotBlank附属于字段属性类。
  • 模型中可能有@Assert'NotBlank附着在场属性上类。

所以如果你设置更新它们如下,你就会知道它是什么字段。

new NotBlank('message' => 'Code is required.')
@Assert'NotBlank(message="Code is required.")