看来$validator->validate( $class );
Symfony2 的验证服务 http://symfony.com/doc/current/book/validation.html在 if 返回之前运行所有验证检查$error
班级。这通常没问题,但我正在寻找halt_on_failure
功能,因为一旦特定属性失败,它就会触发PHP
正在进行的验证检查出错。
Symfony-1 中有相当详细的记录,有一个halt_on_error
但我不确定这在 Symfony2 中是如何工作的。我找到了它的参考,但没有例子。
这是一个类似的问题 https://stackoverflow.com/questions/10135345/how-to-stop-validation-on-constraint-failure-in-symfony2
找到了这个问题的两个解决方案。
-
使用组. 理查德·米勒 http://richardmiller.co.uk/2012/06/15/symfony2-using-validation-groups/写了一篇关于 SF2 Validation with Groups 的精彩总结。本质上,
我所做的被标记为初始验证步骤Step1
并留下其余的步骤。然后,您可以向验证器服务发出请求,如下所示:
$this->validator->validate($class, array('step1', '默认'));
附加 IF 语句。在我的情况下,我使用 API 进行验证,因此我想确保输入准确,这样我就不会浪费 API 请求。 IF 语句可用于中断 API 请求并return false
.
我选择做什么以及为什么
我选择执行步骤 2。虽然步骤 1 可能更好地利用了验证技术,但我并不热衷于需要添加的其他组参数。这是代码维护的责任。看来在Symfony2.2中,会有一个halt_on_error
功能和此解决方案应该在那时更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)