Hello i am trying to create a validation callback for my form to validate a field only if it is not empty. I created my validation rules into a config file named form_validation.php. Here is a part of its content :
$config=array(
'Users_Controller/add'=>array(
array(
'field'=>'email',
'label'=>'email',
'rules'=>'callback_email'
),
)
);
public function email($value){
if( trim( strlen($value) )!==0 ){
$this->form_validation->set_rules(
'email',
'email',
'valid_email|is_unique[users.email]',
array(
'valid_email'=>'invalid email',
'is_unique' => 'email already registered'
)
)
}
}
In my controller,in users_Controller.php here is how i handle the form submission :
class Users_Controller extends CI_Controller{
public function add(){
if($this->form_validation->run()){
$this->User_model->save();
$this-session->set_flashdata('success','okay');
redirect('users/list');
}
else {
$this->load->view('add')
}
}
}
Unfortunately, the validation does not take in account the callback validation method i added in the config file form_validation.php but if i put this callback in the controller, the validation process ignore all the others rules puted in form_validation.php
Any help ? Thanks in advance.