为什么这个定制Yii验证消息不起作用?

时间:2012-11-06 19:37:26

标签: validation yii

它不起作用

array('fio', 'length', 'min'=>5, 'max'=>30, 'message' => 'custom'),

但是这项工作

array('fio, login, password', 'required', 'message' => '{attribute} custom'),

2 个答案:

答案 0 :(得分:1)

对于CStringValidator,还有另一个property called is指定字符串的确切长度,message属性仅在is属性不满足时才使用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)); } 属性输入

看看the source,这将变得清晰:

{{1}}

答案 1 :(得分:0)

对于此类验证器:

  

除了用于设置自定义错误的{@link message}属性   消息,* CStringValidator有几个自定义错误消息   可以设置对应于不同*验证方案。对于   当字符串太短时定义自定义消息,*你可以   使用{@link tooShort}属性。与{@link tooLong}类似。该   消息可能包含将替换为*的占位符   实际内容。除了“{attribute}”*占位符之外,   所有验证者都认可(参见{@link CValidator}),   CStringValidator允许以下*占位符   指定: