关于在model的rules()中如何自定义错误信息 [ 未指定版本 ]
model验证是的错误消息未必是我们想要的,所以的自定义错误消息。
model验证的本质是调用validators文件夹下面的各种验证类来实现验证的。
打开其中的一个类文件的validateAttribute()方法,我们可以看到如下代码:
if($this->min!==null && $length<$this->min)
{
$message=$this->tooShort!==null?$this->tooShort:Yii::t('yii','{attribute} is too short (minimum is {min} characters).');
$this->addError($object,$attribute,$message,array('{min}'=>$this->min));
}
if($this->max!==null && $length>$this->max)
{
$message=$this->tooLong!==null?$this->tooLong:Yii::t('yii','{attribute} is too long (maximum is {max} characters).');
$this->addError($object,$attribute,$message,array('{max}'=>$this->max));
}
if($this->is!==null && $length!==$this->is)
{
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} is of the wrong length (should be {length} characters).');
$this->addError($object,$attribute,$message,array('{length}'=>$this->is));
}
这个是字符串验证类的类文件,发现字符串有3中验证方式,1、字符串字数最小;2、字符串字数最多;3、字符串长度等于。
于是我们在写rules中就可以这样自定义其内容:
['attr', 'length', 'max'=>80,'min'=>10, 'tooLong'=>'{attribute}字数过多','tooShort'=>'字数过少'],
获取错误的方法是$model->getErrors()
e282486518
注册时间:2016-11-15
最后登录:2021-09-10
在线时长:28小时25分
最后登录:2021-09-10
在线时长:28小时25分
- 粉丝57
- 金钱645
- 威望40
- 积分1325
共 0 条评论