2012-04-25 35 views
0

我認爲codeigniter表單驗證類中存在一個錯誤。在輸入中使用0值時Codeigniter驗證錯誤

我的代碼工作完全正常,如果值大於零,但如果它是 「0」 SET_VALUE功能無法正常工作:

控制器:

$this->form_validation->set_rules('age', 'Age', 'required|is_natural'); 

查看:

<? if(set_value('age')) { ?>   
<input id="age" name="age" type="text" value="<?=set_value('age')?>" />           
<? } else { ?> 
<input id="age" name="age" type="text" value="Age" /> 
<? } ?> 

我做錯了什麼或者這是一個錯誤?

回答

1

你的表單字段,如果值是0因爲你if語句評估爲FALSE並沒有value屬性輸出表單字段沒有被重新填充。

所以,擺脫if聲明。你只是想這個:

<input id="age" name="age" type="text" value="<?=set_value('age')?>" /> 

set_value()要麼返回值(如果提供了一個),並且在提供任何缺省值或空字符串沒有價值。