假设我有一个带有以下验证规则的ActiveRecord:
public function rules() {
return array(
array('model', 'required'),
// ....
array('model', 'exist',
'allowEmpty' => false,
'attributeName' => 'id',
'className' => 'Model',
'message' => 'The specified model does not exist.'
)
);
}
第一条规则强制model
字段不为空,第二条规则检查它是否具有一致值(model
是外键)。
如果我尝试验证表格中我留空的字段model
我得到2个错误,一个用于第一个规则,一个用于第二个规则。
我只想收到“不能为空”错误消息。
当第一条规则不满足时,有没有办法停止验证?
答案 0 :(得分:10)
您可以使用skipOnError
:
return array(
array('model', 'required'),
// ....
array('model', 'exist',
'allowEmpty' => false,
'attributeName' => 'id',
'className' => 'Model',
'message' => 'The specified model does not exist.',
'skipOnError'=>true
)
);
编辑:
有人评论上述内容并不清楚,可能是因为此处的字段名称也是model
。因此,在实施时请牢记这一点。