Yii外键的验证规则

时间:2012-08-17 15:56:11

标签: php validation yii yii-components

假设我有一个带有以下验证规则的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个错误,一个用于第一个规则,一个用于第二个规则。

我只想收到“不能为空”错误消息。

当第一条规则不满足时,有没有办法停止验证?

1 个答案:

答案 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。因此,在实施时请牢记这一点。