Membuat Validasi Form Menggunakan Codeigniter

Posted in CodeIgniter, Wednesday, February 6th, 2013, by Muhammad Fahmi Al Azhar

Tutorial insert, update dan delete records menggunakan Codeigniter telah dijelaskan pada tutorial sebelumnya. Artinya, anda seharusnya sudah dapat membuat aplikasi web menggunakan Codeigniter dengan fungsi CRUD standard.

Tetapi jangan puas dulu, sebab rasanya tidak akan lengkap jika form yang digunakan untuk menginput data belum terdapat validasi. Pada tutorial kali ini kita akan belajar menggunakan validasi form Codeigniter.

Bagi anda yang pertama kali berkunjung, anda dapat melihat kumpulan tutorial Codeigniter di tutorial membuat web menggunakan Codeigniter.

Validasi Form Codeigniter

Membuat form validation menggunakan Codeigniter tidaklah sulit, sebab Codeigniter memiliki class bernama Form Validation yang memudahkan anda untuk menggunakan validasi form Codeigniter.

Kita hanya perlu memanggil class tersebut dan menggunakannya di source code yang kita buat. Anda tidak perlu membuat script dan semacamnya.

Di tutorial ini kita tidak menggunakan database, sehingga kita hanya akan coding di Controller dan Views.

Controller

Buatlah file yang bernama form_controller.php dan ketikkan source code sebagai berikut:

form_controller.php

<?php

class Form_controller extends CI_Controller {
	function index()
	{
		$this->load->helper(array('form', 'url'));
		$this->load->library('form_validation');

		$this->form_validation->set_rules('username', 'Username', 'required');
		$this->form_validation->set_rules('password', 'Password', 'required');
		$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
		$this->form_validation->set_rules('email', 'Email', 'required');

		if ($this->form_validation->run() == FALSE)
		{
			$this->load->view('form_input');
		}
		else
		{
			echo 'validasi sukses!';
		}
	}
}

Perhatikan code ketika memanggil helper dan library:

$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');

Anda perlu menuliskan dua baris code tersebut untuk memanggil helper form dan URL  serta library form validation yang digunakan untuk melakukan validasi.

Selain menuliskannya pada controller, anda juga dapat menambahkannya di autoload.php

Views

Form yang digunakan untuk menginput data kita beri nama dengan form_input.php

form_input.php

<html>
<head>
<title>Input Data</title>
</head>
<body>

	<?php echo form_open('form_controller'); ?>

	<h4>Username</h4>
	<?php echo form_error('username'); ?>
	<input type="text" name="username" value="<?php echo set_value('username'); ?>" size="30" />

	<h4>Password</h4>
	<?php echo form_error('password'); ?>
	<input type="text" name="password" value="<?php echo set_value('password'); ?>" size="30" />

	<h4>Password Confirm</h4>
	<?php echo form_error('passconf'); ?>
	<input type="text" name="passconf" value="<?php echo set_value('passconf'); ?>" size="30" />

	<h4>Email Address</h4>
	<?php echo form_error('email'); ?>
	<input type="text" name="email" value="<?php echo set_value('email'); ?>" size="30" />

	<div><input type="submit" value="Submit" /></div>

	</form>

</body>
</html>

Cobalah untuk menjalankan URL http://localhost/codeigniter/index.php/form_controller pada  browser. Jika form anda biarkan kosong, maka akan muncul peringatan bahwa form harus diisi. Sedangkan jika form sudah terisi, maka akan muncul validasi sukses!

validasi form codeigniter

Validasi Form Codeigniter

Perhatikan bahwa validasi form tersebut hanya untuk form tidak boleh kosong, anda harus memodifikasi rule yang ada jika ingin melakukan pengecekan terhadap inputan user seperti password harus sama, email harus benar, dan sebagainya.

Sebagai contoh, anda dapat memodifikasi beberapa baris code  di form_controller.php menjadi seperti berikut:

$this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[4]');
$this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[4]|max_length[32]');
$this->form_validation->set_rules('passconf', 'Password Confirmation', 'trim|required|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');

Source code: validasi_form_codeigniter

Selanjutnya adalah tutorial mengirim email dengan Codeigniter.

Semoga bermanfaat.

Leave a Reply

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