Codeigniter Form Validation With Error Message Example

In CodeIgniter projects, You can validate the form on both the server side and client side and show error messages on forms.

In this tutorial guide, we will show you how to implement server-side form validation and display error messages on form in CodeIgniter projects.

How to Validate Form on Server Side in Codeigniter

Here are steps:

  • Download Codeigniter Latest
  • Basic Configurations
  • Create Database With Table
  • Setup Database Credentials
  • Make New Controller
  • Create Views
  • Start Development server
  • Conclusion

Download Codeigniter Project

In this step, we will download the latest version of CodeIgniter from official CI website, and then unzip it on xampp/htdocs/ folder.

Configuration Base URL

Set base URL in application/config/config.php file:

$config['base_url'] = 'http://localhost/demo/';

Create Table in Database

Use the following SQL query to create a table to store the form data in the 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;

Setup Database Credentials

Add database details like db username, password and user in application/configuration/database.php file:

$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
);

Create Controller

Create a controller name Users.php in Application/Controllers folder to handle form submission and validation on server side:

<?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') );
}

}
}
}

Create Views

Create form_validation.php file in application/views/ folder to allow users to submit form on server:

<!DOCTYPE html>
<html>
<head>
<title>Codeigniter Form Validation</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">

</div>
</div>

</div>
</body>
</html>

Now we need to create success.php file, so go to application/views/ and create success.php file. And put the below code here.

<!DOCTYPE html>
<html>
<head>
<title>Codeigniter Form Validation</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>

Test This Project

Go to the browser and hit below the url.

http://localhost/demo/users

Conclusion

In this codeigniter server side form validation tutorial, We have successfully validate form data on server side. After successfully validate data on server side, we send to users on success page.

You may like:

  1. Registrtion form validation using jquery validator
  2. jQuery Form Validation Custom Error Message
  3. jQuery AJAX Form Submit PHP MySQL
  4. Simple Registration Form in PHP with Validation
  5. jQuery Ajax Form Submit with FormData Example

If you have any questions or thoughts to share, use the comment form below to reach us.

AuthorDevendra Dode

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including PHP, Python, JavaScript, jQuery, Laravel, Livewire, CodeIgniter, Node.js, Express.js, Vue.js, Angular.js, React.js, MySQL, MongoDB, REST APIs, Windows, XAMPP, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL, and Bootstrap. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

One reply to Codeigniter Form Validation With Error Message Example

  1. how to validate on modal

Leave a Reply

Your email address will not be published. Required fields are marked *