如何在 Symfony2 中停止对约束失败的验证


How to stop validation on constraint failure in Symfony2

如果我有很多针对我的实体的验证器,我可以以某种方式指定一个在失败时停止其余验证器吗?IE:如果它失败了,检查权限是没有意义的 NotBlank。

或者,如果它没有内置,也许有一种方法可以向图步行者发出停止信号,我可以放入一个验证器来检查先前的故障并停止通过图传播。

尽管这已经很老了,但从 5.1 开始,有一种方法可以使用 Sequentially 约束来做到这一点。

此约束允许您应用一组应逐步验证,允许在验证后中断验证提出第一次违规。

您只需传递一个约束数组来验证:

/**
 * @Assert'Sequentially({ @Assert'NotBlank(), @Permissions() })
 */

如果在 ./app/config/validation.yml 中设置验证,则 SF2 将按照文件中的验证顺序进行验证。验证失败后,它将忽略其他验证。