删除一个字段的验证器约束

时间:2017-01-26 14:34:58

标签: php symfony

我目前在浪费大量时间做一件简单的事情。

我想在特殊字段中删除symfony中的表单检查器/验证器。

将此eventlistener添加到构建器工作正常:

->addEventListener(
    FormEvents::POST_SUBMIT, 
    function (FormEvent $event) { 
        $event->stopPropagation(); 
    }, 
    900
)

但是它禁用了所有字段的检查器,我只想要一个字段。

'required' => false'csrf_protection' => false没有做到这一点

任何帮助谢谢。

1 个答案:

答案 0 :(得分:0)

约束可以来自许多方向。根据你的问题,我不确定你想要摆脱的约束来自哪里。

  • AppBundle / Resources / validation。[yml | xml | php]查找您的实体名称,然后字段名称只是注释/删除或修改约束(如果找到)。

  • 如果您的类型中有约束,表单类型可以应用约束symfony doc只需打开您的EntityType.php类并查找字段名称并检查是否有{{1}的选项}

  • constraints类型内部的选项和required可以在客户端应用约束,因此请确保它不是您要删除的那种约束,您说已删除{{1}但也许<input type="date">持续存在。

  • 然后你可以在一个包中使用约束应用你正在使用的包搜索源文件中的错误消息可以帮助你找到负责该隐藏约束的代码

Symfony约束应该在失败时返回人类可读的错误消息。

P.S。 required不是约束,但可以看起来很相似!