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当值是因为您的if语句将其评估为FALSE然后输出没有value属性的表单字段时,您的表单字段不会被重新填充。

所以,摆脱这种if说法。你只是想要这个:

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

set_value()将要么返回值(如果提供),要么返回默认值,如果没有提供值,则返回空字符串。

于 2012-04-25T16:04:59.020 回答