我目前正在浪费大量时间做一件简单的事情。
我想从 symfony 的特定字段中删除表单检查器/验证器。
将此事件监听器添加到构建器工作正常:
->addEventListener(
FormEvents::POST_SUBMIT,
function (FormEvent $event) {
$event->stopPropagation();
},
900
)
但它禁用了所有字段的检查器,而我只想要一个字段。
'required' => false
和 'csrf_protection' => false
不要这样做
任何帮助谢谢。
最佳答案
约束可以来自多个方向。从你的问题来看,我不确定你想摆脱的约束来自哪里。
AppBundle/Resources/validation.[yml|xml|php] 查找您的实体名称,然后字段名称只是注释/删除或修改约束(如果找到的话)。
表单类型可以应用约束symfony doc如果您的类型中有约束,只需打开您的 EntityType.php 类并查找字段名称并检查是否有
constraints
的选项。required
type 和<input type="date">
中的选项可以在客户端应用约束,所以确保它不是你想摆脱的那种约束,你说你删除了required
但也许是input type field
坚持。然后您可以在您正在使用的包中的事件中应用约束,在您的源文件中搜索错误消息可以帮助您找到负责该隐藏约束的代码
Symfony 约束应该在失败时返回人类可读的错误消息。
附言required
不是约束,但可以看起来很像!
关于php - 删除单个字段的验证器约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41875840/