php - 缺少必需表单字段的 Symfony 验证错误消息

标签 php forms validation symfony

我有一个有效的表单,它有一个必填字段需要不为空:

/**
 * @Assert\NotBlank
 */
private $field1 = '';

如果我在请求中指定了这个字段,但将该字段留空,我会得到这样的响应:

{
    "code":400,
    "message":"Validation Failed",
    "errors":{
        "children":{
            "field1":{
                "errors":["Field should not be blank"]
            }
        }
    }
}

如果我从请求中省略这个字段,我会得到这个响应:

{
    "code":400,
    "message":"Validation Failed",
    "errors":{
        "errors":["Field should not be blank"]
    }
}

是否有一些内置的 Symfony 逻辑可用于使第二个示例与第一个示例匹配?

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

最佳答案

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

关于php - 缺少必需表单字段的 Symfony 验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36138284/

相关文章:

php - 替代动态 JavaScript 的 Smarty {literal} 标签

php - Symfony - 将值从一种形式传递到另一种形式

ruby-on-rails - rails 3 : Display validation errors for a form (not saving an ActiveRecord model)

jquery - 使用 jQuery 进行 HTML5 验证?

java - Xerces v2.12.0 XML 模式 1.1 验证

PHP Curl http 代码 100 失败

php - 在 MacOS Sierra 上找不到 OpenSSL

php - 恶意软件 PHP 文件正在自动创建

javascript - 我是否错误地使用了 onchange?

jquery - jquery 弹出窗口中的不引人注目的验证