Codeigniter Validation With Error Message Example

Share Me
  •  
  •  
  •  
  • 2
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    2
    Shares
Codeigniter Validation With Error Message Example

Hello Dev’s
Today now in this article, i will give you a example of how to implement server side validation in Codeigniter application. We can do it easily Codeigniter Server Side Form Validation also with Error Message in this example,normal validation two sides like server side and client side. Here i will give you a very simple example of form validation in codeigniter application. Now we will use form_validation library for add form validation with error message display in codeigniter application.

So we can do it by use default following validation rules of codeigniter. Now we can use default following validation rules of codeigniter.

1) required

2) regex_match

3) matches

4) differs

5) is_unique

6) min_length

7) max_length

8) exact_length

9) greater_than

10) You can see more from here Codeigniter Validation Rules.

Exmaple

So now here i will give you a full example of form validation in codeigniter application. Here I will create simple form also with first name, last name, email and Mobile Number as like as contact us form and i will set server side validation.

Step:1 Download Codeigniter Project

Here now in this step we need to download the latest version of Codeigniter, Go to this link Download Codeigniter download the fresh setup of codeigniter and then unzip the setup in your local system xampp/htdocs/ . And need to change the download folder name “demo”

Step:2 Basic Configurations

Now Here in this step, i will set the some basic configuration on the config.php file, So let’s go to application/config/config.php and open this file on text editor.

Set Base URL like this

$config['base_url'] = 'http://localhost/demo/';
Step:3 Create Database With Table

Here in this step,we need to create database name demo. So let’s open your phpmyadmin and create the database also with the name demo. Now you can use the below sql query for creating a table in your database.

CREATE TABLE users (
    id int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primary Key',
    first_name varchar(100) NOT NULL COMMENT 'Name',
    last_name varchar(100) NOT NULL COMMENT 'Name',
    email varchar(255) NOT NULL COMMENT 'Email Address',
    contact_no varchar(50) NOT NULL COMMENT 'Contact No',
    created_at varchar(20) NOT NULL COMMENT 'Created date',
    PRIMARY KEY (id)
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='datatable demo table' AUTO_INCREMENT=1;
Step:4 Setup Database Credentials

Now here in this step,we need in this step connect our project to our database. So go to the application/config/ and open database.php file in text editor. Now we need to setup database credential in this file like below.

$db['default'] = array(
  'dsn' => '',
  'hostname' => 'localhost',
  'username' => 'root',
  'password' => '',
  'database' => 'demo',
  'dbdriver' => 'mysqli',
  'dbprefix' => '',
  'pconnect' => FALSE,
  'db_debug' => (ENVIRONMENT !== 'production'),
  'cache_on' => FALSE,
  'cachedir' => '',
  'char_set' => 'utf8',
  'dbcollat' => 'utf8_general_ci',
  'swap_pre' => '',
  'encrypt' => FALSE,
  'compress' => FALSE,
  'stricton' => FALSE,
  'failover' => array(),
  'save_queries' => TRUE
);
Step:5 Create Controller

Here now in this step,we create a controller name Users.php.

In this controller we will create some method/function. We will build some of the methods like :

-> Index() – This is used to display a form.

-> post_validate() – This is used to validate data on server side and store a data into database.

<?php
class Users extends CI_Controller {
  
    public function __construct()
    {
        parent::__construct();
        $this->load->library(array('form_validation','session'));
        $this->load->helper(array('url','html','form'));
        $this->load->database();
    }
  
    public function index()
    {
      $this->load->view('form_validation');
    }
    public function post_validate()
    {
 
        $this->form_validation->set_rules('first_name', 'First Name', 'required');
        $this->form_validation->set_rules('last_name', 'Last Name', 'required');
        $this->form_validation->set_rules('contact_no', 'Contact No', 'required');
        $this->form_validation->set_rules('email', 'Email', 'required');
 
        $this->form_validation->set_error_delimiters('<div class="error">','</div>');
        $this->form_validation->set_message('required', 'Enter %s');
 
        if ($this->form_validation->run() === FALSE)
        {  
            $this->load->view('form_validation');
        }
        else
        {   
          $data = array(
             'first_name' => $this->input->post('first_name'),
             'last_name' => $this->input->post('last_name'),
             'contact_no' => $this->input->post('contact_no'),
             'email' => $this->input->post('email'),
 
           );
   
            $insert = $this->db->insert('users', $data);
            if ($insert) {
               $this->load->view('success');
            } else {
               redirect( base_url('users') ); 
            }
   
            }
 
    }
 
}
Step:6 Create Views

Now we are in step 6 . In this step we will create a new file as form_validation.php , go to application/views/ folder and then create form_validation.php file. Then Here put the below html code for showing form.

<!DOCTYPE html>
<html>
<head>
  <title>Codeigniter Form Validation - Codingspoint.com </title>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
 <div class="container">
    <br>
    <div class="row">
    <div class="col-md-9">
    <form action="<?php echo base_url('users/post_validate') ?>" method="post" accept-charset="utf-8">
      <div class="form-group">
        <label for="formGroupExampleInput">First Name</label>
        <input type="text" name="first_name" class="form-control" id="formGroupExampleInput" placeholder="Please enter first name">
        <?php echo form_error('first_name'); ?> 
      </div> 
 
      <div class="form-group">
        <label for="formGroupExampleInput">Last Name</label>
        <input type="text" name="last_name" class="form-control" id="formGroupExampleInput" placeholder="Please enter last name">
        <?php echo form_error('last_name'); ?>  
      </div>
 
      <div class="form-group">
        <label for="email">Email Id</label>
        <input type="text" name="email" class="form-control" id="email" placeholder="Please enter email id">
        <?php echo form_error('email'); ?> 
      </div>   
 
      <div class="form-group">
        <label for="mobile_number">Mobile Number</label>
        <input type="text" name="contact_no" class="form-control" id="contact_no" placeholder="Please enter mobile number" maxlength="10">
        <?php echo form_error('contact_no'); ?> 
      </div>
 
      <div class="form-group">
       <button type="submit" id="send_form" class="btn btn-success">Submit</button>
      </div>
    </form>
    </div>
    <div class="col-md-3">
      <?php $this->load->view('layout/media_left_side_bar'); ?>
    </div>
    </div>
</div>
</body>
</html>
Step:7 Success Views

Now in this step we need to create a file as success.php file, so go to application/views/ and then create success.php file. And put the below code here.

<!DOCTYPE html>
<html>
<head>
  <title>Codeigniter Form Validation - codingspoint.com </title>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<div class="container">
 <h1> Thank You for Registered</h1>
</div>
</body>
</html>

Start Server And Run Program

Now for start development server, Go to the browser and hit below the url.

http://localhost/demo/users

Read Also : Laravel 8 Mobile Number Verification Tutorial

Thanks for read. I hope it help you. For more you can follow us on facebook.

About code chef

My name is Shahriar sagor. I'm a developer. I live in Bangladesh and I love to write tutorials and tips that will help to other Developer's. I am a big fan of PHP, Javascript, JQuery, Laravel, Codeigniter, VueJS, AngularJS and Bootstrap from the early stage.

View all posts by code chef →