【问题标题】:Why `set_radio` doesn't work when "form_validation" is included?为什么包含“form_validation”时`set_radio`不起作用?
【发布时间】:2013-05-04 14:50:49
【问题描述】:

我正在调用视图

function index() {
    $this->load->helper("form");
    $this->load->library("form_validation");

    $this->load->view("index");
}

然后我有

<?php echo form_open(); ?>

<input type="radio" name="radioname" value="x" <?php echo set_radio("radioname", "x", true); ?> />
<input type="radio" name="radioname" value="y" <?php echo set_radio("radioname", "y"); ?> />

</form>

在第一次加载时,我检查了第一台收音机。如果我发布表单,则值成功到达$this-&gt;input-&gt;post()。但是没有一个单选框被选中。如果我不加载验证,代码就可以工作。

我挖掘了代码,发现如果加载了form_validation,它的行为会有所不同。

$OBJ =& _get_validation_object();

if ($OBJ === FALSE)
{
    // returns formhelper set_radio
}

// this doesn't make sense for me
return $OBJ->set_radio($field, $value, $default);

如果加载了form_validation,它会从$OBJ 执行set_radio,但它不起作用。

在这种情况下,$OBJ 到底是什么?我必须进行哪些更改才能使其正常工作?

【问题讨论】:

    标签: php forms codeigniter validation


    【解决方案1】:

    你需要在radioname中添加假规则

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2015-02-26
      • 2014-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多