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

时间:2012-04-13 04:45:19

标签: php validation symfony chain

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

或者,如果它没有内置,也许是一种表示图形漫步者停止的方式,我可以放入一个验证器来检查先前的故障并停止通过图形传播。

2 个答案:

答案 0 :(得分:1)

尽管它已经很老了,但从5.1版本开始,有一种使用Sequentially约束的方法。

此约束使您可以应用一组应 逐步验证,一旦 第一次违规。

您只需传递一组约束即可进行验证:

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

答案 1 :(得分:0)

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