2013-02-07 61 views
0

如果我將字段的規則設置爲min_length [3],但沒有傳遞該字段的值,因爲它不是必填字段,它會給我一個錯誤嗎?Codeigniter表單驗證規則 - 必需/ min_length

爲如:

array(
'field' => 'first_name', 
'label' => 'First Name', 
'rules' => 'min_length[2]' 
), 
array(
'field' => 'last_name', 
'label' => 'Last Name', 
'rules' => 'required|min_length[2]' 
), 

所以我的問題是,即使名字沒有用戶輸入的值,我還會面臨MIN_LENGTH錯誤設置爲2?

回答

0

該字段只有在他們在表單字段中放置一個或多個字符時纔是必需的。如果他們留空,它會通過。
所以如果驗證規則沒有要求並且用戶不會在表單字段中放置任何東西 - 它會通過。

但是,如果他們在該字段中輸入了某些內容,則應用驗證規則。例如,如果您的最小長度爲4,如果用戶輸入3個字符 - 驗證將失敗。字符計數錯誤將顯示在驗證錯誤消息中。

0

是的。從codeigniter doc

min_length Yes Returns FALSE if the form element is shorter then the parameter value. min_length[6] 

如果FirstName沒有輸入的值,其長度將是0,這是大於參數值短(2)。因此,它將返回FALSE。