在验证失败时重新填充单选按钮(CodeIgniter)


Repopulate radio buttons on failed validation (CodeIgniter)

我在验证失败后重新填充CodeIgniter表单时遇到问题。

HTML:

<label for="public">Anyone</label>
<input type="radio" name="target" value="public" <?php echo set_radio('target', 'public', TRUE); ?> />
<label for="direct">Specific</label>
<input type="radio" name="target" value="direct" <?php echo set_radio('target', 'direct'); ?> />

当我第一次加载表单时,我得到这个源代码:

<label for="public">Anyone</label>
<input type="radio" name="target" value="public"  checked="checked" />
<label for="direct">Specific</label>
<input type="radio" name="target" value="direct"  />

…所以第三个参数生效了(默认为"TRUE")

但是当我在其他字段上提交带有验证错误的表单时,表单被重新加载,没有选中单选按钮。

提交后的var_dump($_POST)(在其他字段有故意的验证错误)显示如下:

array (size=9)
  'target' => string 'direct' (length=6)
   ...

但没有选择单选按钮。

必须是一些简单的…帮助吗?

答案显然是在单选按钮中添加一个假规则。

 $this->form_validation->set_rules("tenderType", "", "trim");

感谢@FuzzyTree在这里指出解决方案:stackoverflow.com/q/16473459/3574819