验证自定义消息(对于相同的表单字段)忽略

时间:2016-03-15 11:42:47

标签: php validation yii yii2

我使用ActiveForm生成表单。在模型中,我对同一个字段有以下规则:

public function rules() {
    return [
        ['reviewMsg', 'required', 'message' => Yii::t('review', 'Review message cannot be blank.')],
        ['reviewMsg', 'string', 'max' => 255, 'message' => Yii::t('review', 'Review message should contain at most 255 characters.')],
        ];
    }

现在,客户端验证工作正常,它会正确地对规则做出反应。违反required规则的自定义消息显示为我指定的。但是,第二个自定义消息(文本< = 255个字符)被忽略,而是显示标准错误消息。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

使用tooLong属性:

public function rules() {
return [
    ['reviewMsg', 'required', 'message' => Yii::t('review', 'Review message cannot be blank.')],
    ['reviewMsg', 'string', 'max' => 255, 'tooLong' => Yii::t('review', 'Review message should contain at most 255 characters.')],
    ];
}