1

我正在调用视图

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->input->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加载了它,它会执行set_radiofrom $OBJ,但它不起作用。

$OBJ在这种情况下究竟是什么?我必须改变什么才能让它工作?

4

1 回答 1

4

您需要向 radioname 添加虚假规则,例如

$this->form_validation->set_rules("radioname", "", "trim");
于 2013-05-10T08:59:36.353 回答