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

私は何か間違ったことをしていますか、それともバグですか?

4

1 に答える 1

1

ステートメントが値を評価し、属性なしでフォーム フィールドを出力する0ため、値が の場合、フォーム フィールドは再入力されません。ifFALSEvalue

だから、if発言はやめてください。代わりにこれが必要です:

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

set_value()値が指定されている場合は値を返し、値が指定されていない場合はデフォルト値または空の文字列を返します。

于 2012-04-25T16:04:59.020 に答える