明显地,我有两个问题。如何验证Codeigniter中的复选框并重新填充已选中
当我提交复选框形式这是一个数组值和非cheched形式,它不显示我验证错误,如“这个字段是必需的”。当我检查其中一个时显示错误。通常它应该显示我,即使我没有检查表格上的任何内容,只需按提交即可。
如何在重新填充复选框时将其作为选中状态时选中。像set_value一样思考。在set_value中填充以前的数据。在这我希望它被自动检查,如果我已经提交。
我控制器
function preferences() {
$user = $this->ion_auth->user()->row();
$data['first_name'] = $user->first_name;
$data['last_name'] = $user->last_name;
$data['user_id'] = $user->id;
$data['address'] = $this->main_model->office_zip_match($user->zipcode);
$this->form_validation->set_rules('days[]', 'Days', 'required');
$this->form_validation->set_rules('contact[]', 'Contact', 'required');
if ($this->form_validation->run() == true) {
echo print_r($this->input->post());
} else {
$this->load->view('auth/preferences', $data);
}
}
我的观点:
<div>Days to Deliver</div>
<?php echo form_open('signup/preferences'); ?>
<input type="checkbox" name="days[]" value="monday" id="days" /> Monday<br />
<input type="checkbox" name="days[]" value="tuesday" id="days" /> Tuesday<br />
<input type="checkbox" name="days[]" value="wednesday" id="days" /> Wednesday<br />
<input type="checkbox" name="days[]" value="thursday" id="days" /> Thursday<br />
<input type="checkbox" name="days[]" value="friday" id="days" /> Friday<br />
<div>How would you like us to contact you? (When package arrives/for all other issues</div>
<input type="checkbox" name="contact[]" value="email" id="contact" /> Email<br />
<input type="checkbox" name="contact[]" value="text" id="contact" /> Text<br />
<input type="checkbox" name="contact[]" value="cell" id="contact" /> Cell<br />
<div><input type="submit" value="Send" /></div>
<?php echo form_close(); ?>
<?php echo validation_errors(); ?>
我解决了问题,助手和一些调整,但我不明白为什么笨不有一个永久和稳定的解决方案。 – SNaRe