wou*_*_be 0 validation codeigniter
我正在设置一个带有CI的表单,我正在使用表单验证来帮助我.
目前我有不同的规则设置,比如
$this->form_validation->set_rules('first_name', 'First Name', 'required|xss_clean');
Run Code Online (Sandbox Code Playgroud)
但在我的表单中,我有一个复选框,启用该复选框将显示选中复选框时所需的一些新输入.取消选中该复选框时,不需要这些字段.
CI中最好的方法是什么?
// Set validation rules
$this->form_validation->set_rules('first_name', 'First Name', 'required|xss_clean');
$this->form_validation->set_rules('last_name', 'Last Name', 'required|xss_clean');
// Some more rules here
if($this->form_validation->run() == true) {
// Form was validated
}
Run Code Online (Sandbox Code Playgroud)
if($this->input->post('checkbox_name')){
// add more validation rules here
}
Run Code Online (Sandbox Code Playgroud)
几个月前我面对这样的事情.我刚刚添加了一个简短的if语句.
它看起来像这样(例如使用地址):
$this->form_validation->set_rules('home_address', '"Home Address"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('unit', '"Unit"', 'trim|xss_clean|strip_tags');
$this->form_validation->set_rules('city', '"City"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('state', '"State"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('zip', '"Zip"', 'required|trim|xss_clean|strip_tags');
//checkbox formatted like this in the view: form_checkbox('has_second_address', 'accept');
if ($this->input->post('has_second_address') == 'accept')
{
$this->form_validation->set_rules('street_address_2', '"Street Address 2"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('state_2', '"State 2"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('city_2', '"City 2"', 'required|trim|xss_clean|strip_tags');
$this->form_validation->set_rules('zip_2', '"Zip 2"', 'required|trim|xss_clean|strip_tags');
}
if($this->form_validation->run() == true) {
//example
//will return FALSE if empty
$street_address_2 = $this->input->post('street_address_2');
//and so on...
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是Codeigniter方式,但上次我检查时找不到" 最佳方法 "方式.这绝对可以完成工作,并且它至少允许您控制用户$ _POST变量.
无论如何,我希望这会有所帮助