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" /> 
<? } ?> 

私は何か間違っているのですか?これはバグですか?あなたのif文がFALSEにそれを評価し、value属性せずにフォームフィールドを出力するので値が0とき

答えて

1

あなたのフォームフィールドが再作成されていません。

したがって、ifステートメントを削除してください。あなたは、単に代わりにこれをしたい:何も値が提供されていない場合

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

set_value()は、(1が提供されている場合)の値を返すのいずれか、およびデフォルト値または空の文字列のどちらかでしょう。

関連する問題