1

在框架中Yii,您如何在规则之一返回后?abortfurther validationFALSE

我想要实现的是:

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

2) 为网络用户提供更清晰、易于理解的错误消息,无需在控制器中手动对它们进行排序。

预先感谢您的帮助!

4

2 回答 2

3

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

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

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

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

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

于 2012-02-09T10:55:57.823 回答
0

谢谢!

对于浏览此线程的用户:

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

于 2012-02-16T21:24:35.380 回答