2013-05-30 70 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