3

如果返回类$validator->validate( $class );,Symfony2验证服务似乎会运行所有验证检查。$error这通常没问题,但我正在寻找halt_on_failure功能,因为一旦特定属性失败,它会PHP在正在进行的验证检查中触发错误。

在 Symfony-1 中有很好的记录,halt_on_error但我不确定这在 Symfony2 中是如何工作的。我找到了对它的引用,但没有示例。

这是一个类似的问题

4

1 回答 1

0

为这个问题找到了两个解决方案。

  1. 使用组Richard Miller 写了一篇关于 SF2 Validation with Groups 的精彩总结。从本质上讲,我所做的只是标记了初始验证步骤, Step1而将其余步骤单独保留。然后,您向 Validator 服务发出请求,如下所示:

    $this->validator->validate($class, array('step1', 'Default'));

  2. 附加 IF 语句。在我的情况下,我使用 API 进行验证,所以我想确保输入是准确的,这样我就不会浪费 API 请求。IF 语句可用于切断 API 请求和return false.

我选择做什么以及为什么

我选择执行第 2 步。虽然第 1 步可能更好地使用了验证技术,但我并不热衷于需要添加的其他组参数。这是代码维护责任。在 Symfony2.2 中似乎会有一个halt_on_error特性,这个解决方案应该到时候更新。

于 2012-11-27T15:10:49.003 回答