I have a simple form adding the following validation rules to my db. The "form" is in autoload.php.
Whenever any of the validation rules is violated, the page does not display error output, when none is broken, the form passes as expected.
here is my controller function
public function add() { $this->load->library('form_validation'); $this->load->library('layout'); // field name, error message, validation rules $this->form_validation->set_rules('type', 'Type', 'required|xss_clean'); $this->form_validation->set_rules('title_type', 'Title type', 'required|xss_clean'); $this->form_validation->set_rules('first_name', 'First name', 'trim|required|min_length[1]|max_length[150]|xss_clean'); $this->form_validation->set_rules('surname', 'Surname', 'trim|required|min_length[1]|max_length[150]|xss_clean'); $this->form_validation->set_rules('job_title', 'Job title', 'trim|min_length[5]|max_length[300]required|xss_clean'); $this->form_validation->set_rules('office_number', 'Office number', 'trim|min_length[2]|max_length[11]|xss_clean'); $this->form_validation->set_rules('telephone', 'Telephone', 'trim|numeric|xss_clean'); $this->form_validation->set_rules('email', 'Email', 'trim|valid_email|xss_clean'); $this->form_validation->set_rules('website', 'Website', 'trim|prep_url|xss_clean'); $this->form_validation->set_rules('background', 'Background', 'trim|xss_clean'); $data = array( 'title' => 'Add staff member' ); if ($this->form_validation->run() == FALSE) { //Was errors $this->session->set_flashdata('message','You missed some details, please try again.'); $this->layout->load('default', 'add_person', $data); } else { $this->people_model->add_person(); $this->layout->load('default', 'added_person', $data); } } //add
And in my view of the form I have
<?php echo validation_errors('<p class="msg msg-error">') ?>
Someone can understand what I did wrong, I tried everything I could come up with.
The var_dump validation_errors () parameter gives
string '' (length=0)
edit: strange, if I swap these two lines around, I get:
$this->load->library('form_validation'); $this->load->library('layout');