在返回$validator->validate( $class );
类之前,似乎Symfony2 Validation Service的$error
会运行所有验证检查。这通常没问题,但我正在寻找halt_on_failure
功能,因为一旦某个特定属性失败,就会在进行的验证检查中触发PHP
错误。
在Symfony-1中有相当详细记载,有一个halt_on_error
,但我不确定它在Symfony2中是如何工作的。我找到了它的参考但没有例子。
答案 0 :(得分:1)
使用群组。 Richard Miller
写了一个很好的SF2验证与组的摘要。实质上,
我所做的是标记了初始验证步骤
Step1
并单独完成其余步骤。然后,您可以向Validator服务发出请求:
$ this-> validator-> validate($ class,array('step1','Default'));
其他IF语句。在我的情况下,我使用API进行验证,所以我想确保输入是准确的,所以我没有浪费API请求。 IF语句可用于切断API请求和return false
。
我选择使用第2步。虽然步骤1可能更好地使用了验证技术,但我并不认为需要添加的其他组参数。这是代码维护责任。在Symfony2.2中,似乎会有一个halt_on_error
功能,此时应该更新此解决方案。