Tutorial ini akan memandu Anda dalam membuat validasi form dengan CodeIgniter.
Langkah 1: Pengaturan Awal
Pertama, siapkan controller dan view yang akan kita gunakan.
Buat controller baru di application/controllers/ dengan nama Form.php.
PHP
// application/controllers/Form.php
defined('BASEPATH') OR exit('No direct script access allowed');
class Form extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper('form');
$this->load->library('form_validation');
}
public function index() {
$this->load->view('myform');
}
}
Kemudian, buat view baru di application/views/ dengan nama myform.php.
HTML
<!DOCTYPE html>
<html>
<head>
<title>Form Contoh</title>
</head>
<body>
<?php echo validation_errors(); ?>
<?php echo form_open('form/submit'); ?>
<h5>Nama Pengguna</h5>
<input type="text" name="username" value="" size="50" />
<h5>Kata Sandi</h5>
<input type="text" name="password" value="" size="50" />
<h5>Konfirmasi Kata Sandi</h5>
<input type="text" name="passconf" value="" size="50" />
<h5>Email</h5>
<input type="text" name="email" value="" size="50" />
<div><input type="submit" value="Submit" /></div>
</form>
</body>
</html>
Langkah 2: Menambahkan Aturan Validasi
Sekarang, kita tambahkan validasi ke controller. Buat metode (fungsi) baru bernama submit.
PHP
// application/controllers/Form.php
// ... di dalam class Form extends CI_Controller { ...
public function submit() {
$this->form_validation->set_rules('username', 'Nama Pengguna', 'required|alpha_numeric|min_length[5]|max_length[12]');
$this->form_validation->set_rules('password', 'Kata Sandi', 'required|min_length[8]');
$this->form_validation->set_rules('passconf', 'Konfirmasi Kata Sandi', 'required|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email');
if ($this->form_validation->run() == FALSE) {
$this->load->view('myform');
} else {
$this->load->view('formsuccess');
}
}
Penjelasan Aturan Validasi
set_rules('field_name', 'label', 'rules'): Aturan validasi ditentukan di sini.required: Bidang harus diisi.alpha_numeric: Hanya boleh berisi karakter alfanumerik.min_length[5]: Panjang minimal 5 karakter.max_length[12]: Panjang maksimal 12 karakter.matches[password]: Nilai harus sama dengan fieldpassword.valid_email: Format harus berupa alamat email yang valid.
Langkah 3: Membuat Halaman Sukses
Jika validasi berhasil, kita akan mengarahkan pengguna ke halaman sukses. Buat view baru di application/views/ dengan nama formsuccess.php.
HTML
<!DOCTYPE html>
<html>
<head>
<title>Form Berhasil</title>
</head>
<body>
<h3>Formulir Anda Berhasil Dikirim!</h3>
<p><?php echo anchor('form', 'Coba lagi!'); ?></p>
</body>
</html>
Selesai!
Sekarang, saat Anda mengakses http://localhost/nama_proyek/index.php/form, Anda akan melihat form. Jika Anda mengisi form dengan data yang tidak valid, CodeIgniter akan menampilkan pesan kesalahan. Jika semua data valid, Anda akan dialihkan ke halaman sukses.