Yii:在其中一条规则返回FALSE后,你如何在中间中止模型验证?

时间:2012-02-09 03:04:33

标签: validation yii model yii-validation

Yii框架中,在其中一条规则返回abort后,您如何further validation任何FALSE

我想要实现的目标是:

1)在我们知道模型没有通过验证后停止不必要的MySQL查询。

2)更简洁,易于理解的Web用户错误消息,无需在控制器中手动排序。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

简而言之:没有全局设置或解决方案:如果查看CActiveRecord :: validate(),您可以看到所有验证器都被调用并执行。

您可以阻止为同一属性运行多个验证。您必须为所有验证规则设置skipOnError = true。

http://www.yiiframework.com/doc/api/1.1/CValidator/#skipOnError-detail

  

当已经存在时,是否应该跳过此验证规则   当前属性的验证错误。默认为false。

我认为可以在Yii中添加一个全局选项(很容易实际)。

答案 1 :(得分:0)

谢谢!

对于浏览此帖子的用户:

要在自定义AR类中扩展的validate()方法位于yii/framework/base/CModel第150行。