【问题标题】:Yii validation rules for foreign keyYii 外键验证规则
【发布时间】:2012-08-17 15:56:10
【问题描述】:

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

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

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

【问题讨论】:

    标签: php validation yii yii-components


    【解决方案1】:

    你可以使用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。所以在实施时请记住这一点。

    【讨论】:

    • 太棒了!这就是我需要的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2014-04-10
    相关资源
    最近更新 更多