2013-05-30 68 views
3

我有一个模型内将以下代码Yii的最小长度的验证允许空白输入

rules() 
{ 
.... 
array('new_pass', 'length', 'min'=>6, 'max'=>64, 'tooShort'=>'Password is too short (minimum is 6 characters)'),   
....  
} 

当我输入一个值是字符1和5之间的长它错误说它是太短了。但是,如果我把它留给它更新?我不知道如何解决这个问题,或者更重要的是为什么它会让一个空值。

我试着添加一个allowEmpty,它停止了它更新一个字符长度为0的密码,但是当我试图然后保存模型6+长度的密码,然后它说error'd密码太短”

任何帮助,不胜感激

强尼

+0

你不想让密码强制? – Ninad

+0

这是为了更新密码。因此,按照要求进行登记,是否也需要登记?因为这一点不会存在。 – Jonnny

+0

因此,在注册时,您允许密码字段为空? 对不起,我很困惑解释一点点澄清 – Ninad

回答

4

正如我所言d其changepassword行动,以便只需添加规则:

rules() 
{... 
array('new_pass','required','on'=>'youraction') 
...} 

但仍然'allowEmpty'=>false'必须为此努力。

+0

我想过后我离开了我的电脑。我相信这是解决方案。谢谢大家 – Jonnny

0

您没有添加tooLong,然后再次尝试

+0

我不认为我真的需要一个'太长'的信息,64是最大长度。无论如何,我试过它,它仍然接受空白密码。 – Jonnny

+0

@Jonnny添加''allowEmpty'=> false'',默认值为'true' –

+0

我在'allowEmpty'=> false之前添加了,它不允许保存模型。即使密码足够长,它也会返回“密码太短...”。 – Jonnny