If you submit the form with all the fields populated youll see your success page. Note The form fields are not yet being re-populated with the data when there is an error. CodeIgniter provides a comprehensive form validation and data prepping class that helps minimize the amount of code youll write. Before explaining CodeIgniters approach to data validation, lets describe the ideal scenario: A form is displayed. To set validation rules you will use the set_rules method: this - form_validation - set_rules The above method takes three parameters as input: The field name - the exact name youve given the form field. Well get to that shortly. Setting Rules Using an Array Before moving on it should be noted that the rule setting method can be passed an array if you prefer to set all your rules in one action.
It also runs the validation routine. Based on whether the validation was successful it either presents the form or the success page. Setting Validation Rules CodeIgniter lets you set as many validation rules as you need for a given field, cascading them in order, and it even lets you prep and pre-process the field data at the same time.
Lets try it. Change your rules in the third parameter of rule setting method, like this: this - form_validation - set_rules ( 'username', 'Username', 'requiredmin_length5max_length12is_ername', array ( 'required' 'You have not provided s.', 'is_unique' 'This s already exists.' ) this - form_validation - set_rules ( 'password', 'Password', 'required' this - form_validation - set_rules ( 'passconf', 'Password Confirmation', 'requiredmatchespassword' this. This makes your application more portable in the event your URLs change. At the top of the form youll notice the following function call:? Php echo validation_errors? This function will return any error messages sent back by the validator. Php class Form extends CI_Controller public function index this - load - helper ( array ( 'form', 'url' this - load - library ( 'form_validation' if ( this - form_validation - run false ) this - load - view ( 'myform' else this - load - view ( 'formsuccess' Try it!