多个 $this->form_validation->运行() 在 codeigniter 中不起作用
multiple $this->form_validation->run() not work in codeigniter
请帮助我验证地址。如果我 select 单选按钮办公室,则需要提交办公室地址。如果我 select 单选按钮 Residential,那么 Resi。需要提交地址。
单选按钮名称="邮寄"
这里分享控制器代码:
public function addMemberForm(){
if(!$this->form_validation->run('add_form')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
elseif($post['mailing'] == 'office'){
if(!$this->form_validation->run('office_address')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
}
elseif($post['mailing'] == 'residential'){
if(!$this->form_validation->run('residential_address')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
}
else{
$this->session->set_flashdata('add_member_msg','<span class="alert alert-success">Member insert successfully</span>');
return redirect('admin/add_member');
}
}
这里分享配置->form_validation.php代码:
$config = [
'add_form' =>[
[
'field' => 'mailing',
'label' => 'Mailing Address',
'rules' => 'required'
],
],
'office_address' =>[
[
'field' => 'office_address',
'label' => 'Office Address',
'rules' => 'required'
],
],
'residential_address' =>[
[
'field' => 'resi_address',
'label' => 'Residential Address',
'rules' => 'required'
],
],
];
下面我分享表格照片:
我的问题得到了解答。
从配置中删除 office_address 和 residential_address->form_validation.php
您可以在 controller 中验证办公室和住宅地址,请参见下面的代码:
public function addMemberForm(){
$validation_error = array();
if(!$this->form_validation->run('add_form')){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
elseif($this->input->post('mailing') == 'office'){
$this->form_validation->set_rules('office_address','Office Address','required');
if($this->form_validation->run() == false){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
}
elseif($this->input->post('mailing') == 'residential'){
$this->form_validation->set_rules('resi_address','Residential Address','required');
if($this->form_validation->run() == false){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
}
if(count($validation_error)){
$this->load->view('admin_panel/add-member');
}
else{
$this->session->set_flashdata('add_member_msg','<span class="alert alert-success">Member insert successfully</span>');
return redirect('admin/add_member');
}
}
请帮助我验证地址。如果我 select 单选按钮办公室,则需要提交办公室地址。如果我 select 单选按钮 Residential,那么 Resi。需要提交地址。
单选按钮名称="邮寄"
这里分享控制器代码:
public function addMemberForm(){
if(!$this->form_validation->run('add_form')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
elseif($post['mailing'] == 'office'){
if(!$this->form_validation->run('office_address')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
}
elseif($post['mailing'] == 'residential'){
if(!$this->form_validation->run('residential_address')){
$this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
$this->load->view('admin_panel/add-member');
}
}
else{
$this->session->set_flashdata('add_member_msg','<span class="alert alert-success">Member insert successfully</span>');
return redirect('admin/add_member');
}
}
这里分享配置->form_validation.php代码:
$config = [
'add_form' =>[
[
'field' => 'mailing',
'label' => 'Mailing Address',
'rules' => 'required'
],
],
'office_address' =>[
[
'field' => 'office_address',
'label' => 'Office Address',
'rules' => 'required'
],
],
'residential_address' =>[
[
'field' => 'resi_address',
'label' => 'Residential Address',
'rules' => 'required'
],
],
];
下面我分享表格照片:
我的问题得到了解答。
从配置中删除 office_address 和 residential_address->form_validation.php
您可以在 controller 中验证办公室和住宅地址,请参见下面的代码:
public function addMemberForm(){
$validation_error = array();
if(!$this->form_validation->run('add_form')){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
elseif($this->input->post('mailing') == 'office'){
$this->form_validation->set_rules('office_address','Office Address','required');
if($this->form_validation->run() == false){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
}
elseif($this->input->post('mailing') == 'residential'){
$this->form_validation->set_rules('resi_address','Residential Address','required');
if($this->form_validation->run() == false){
$validation_error[] = $this->form_validation->set_error_delimiters('<span style="color:red">','</span>');
}
}
if(count($validation_error)){
$this->load->view('admin_panel/add-member');
}
else{
$this->session->set_flashdata('add_member_msg','<span class="alert alert-success">Member insert successfully</span>');
return redirect('admin/add_member');
}
}