明顯地,我有兩個問題。如何驗證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