缺少必填表单字段的Symfony验证错误消息

Sta*_*ode 5 php forms validation symfony

我有一个工作表单,它有一个必需字段,需要不是空白:

/**
 * @Assert\NotBlank
 */
private $field1 = '';
Run Code Online (Sandbox Code Playgroud)

如果我在请求中指定了此字段,但将该字段留空,则会收到以下响应:

{
    "code":400,
    "message":"Validation Failed",
    "errors":{
        "children":{
            "field1":{
                "errors":["Field should not be blank"]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我从请求中省略了这个字段,我得到了这个回复:

{
    "code":400,
    "message":"Validation Failed",
    "errors":{
        "errors":["Field should not be blank"]
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有一些内置的Symfony逻辑,我可以使用它来使第二个例子匹配第一个例子?

[编辑]使用Symfony 2.5 - 现在更新到Symfony 2.8.3,同样的问题.

小智 3

当字段未在表单对象本身中呈现时,可能会发生此行为。在这种情况下,违规映射器无法将验证错误映射到其中一个字段。请检查该字段是否出现在表单对象中。