【问题标题】:Symfony2 : Validation Halt on First ErrorSymfony2:第一个错误时验证停止
【发布时间】:2012-11-14 04:05:10
【问题描述】:

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

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

这是similar question

【问题讨论】:

    标签: php validation symfony


    【解决方案1】:

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

    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 功能,到时候应该会更新这个解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      • 2018-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多