You are on page 1of 5

2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

1

Tutorial Panada Framework
Chapter 4 : Validasi Form
SamidCorner(Tegal) Pembaca yang budiman. Masih bersama tutorial berseri dari Panada Framework,
setelah pada chapter yang ketiga mengenai penggunaan form dan memproses form kali ini kita akan
melakukan validasi data(bagi yang belum menyimak chapter yang ketiga silahkan simak dahulu).
Dimana fungsi utama dari validasi data adalah bagaimana kita akan mem-filter request dari form baik
untuk data yang kosong maupun jenis data yang akan diinputkan ke dalam database.
Jadi, ketika ada user yang mengakses form kita tidak dapat sembarangan memasukkan data. Okelah
daripada terlalu lama mari kita simak sajian berikut ini
Membuat Validasi Form
Sebelumnya kita sudah membuat form kurang lebih seperti ini :
Nah kemudian selanjutnya buat file baru misal kita kasih nama validasi.php dan simpan di app/Models.
Ketikan kode berikut :













Gambar 1. Tampilan form karyawan
<?php
namespace Models;
use Resources;

class Validasi extends Resources\Validation{

public function setRules(){
return array(
'nama'=>array(
'rules'=>array(
'required',
'min'=>5
)
),
'alamat'=>array(
'rules'=>array(
'required'
)
),
2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

2







Kode diatas adalah bentuk validasi form yang menjadi gaya dari panadaframework. Bisa terlihat dimana
kita melakukan validasi untuk :
a. Field nama tidak boleh kosong ditandai dengan required, dan panjang karakter tidak boleh
kurang dari 5 karakter.
b. Field alamat tidak boleh kosong ditandai dengan required.
c. Field gaji tidak boleh kosong dan hanya inputan berupa numeric.
Selanjutnya kita akan menjalankan validasi dengan memanggil models pada controller. Berikut adalah
kodenya :










'gaji'=>array(
'rules'=>array(
'required',
'numeric'
)
)
);
}
}
?>

<?php
namespace Controllers;
use Resources, Models;

class Karyawan extends Resources\Controller{

public function __construct(){
parent::__construct();
$this->input = new Resources\Request;
$this->validasi = new Models\Validasi;
}

public function index(){
//$validasi = new Models\Validasi;

$data['judul'] = 'Input Data Karyawan';
$data['valid'] = $this->validasi;
$this->output('form_karyawan', $data);
}

public function proses(){

if($_SERVER['REQUEST_METHOD'] == 'POST'){
if($this->validasi->validate() == FALSE){
$data['judul'] = 'Input Data Karyawan';
$data['valid'] = $this->validasi;

$this->output('form_karyawan', $data);
}else{
$nama = $this->input->POST('nama',
FILTER_SANITIZE_MAGIC_QUOTES);
$alamat = $this->input->POST('alamat',
FILTER_SANITIZE_MAGIC_QUOTES);
$gaji = $this->input->POST('gaji',
2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

3









Perhatikan kode diatas kita memanggil validasi dengan menuliskan pada constructor $this->validasi =
new Models\Validasi; Kemudian untuk mengecek request dari user, kita gunakan $this->validate()
dimana ini akan memberikan nilai berupa BOOLEAN (TRUE/FALSE). Untuk lebih jelasnya anda bisa lihat
pada dokumentasi yang menurut saya sangat lengkap mengenai validasi ini
Dan terakhir kita akan mengimplementasikan validasi pada file view, ketikkan kode berikut :



















FILTER_SANITIZE_MAGIC_QUOTES);

$data['judul'] = 'Berhasill!!!';
$data['nama'] = $nama;
$data['alamat'] = $alamat;
$data['gaji'] = $gaji;

$this->output('sukses', $data);
}
}

}
//end of class
}
?>

<!DOCTYPE HTML>
<html>
<head>
<title><?php echo $judul;?></title>
<link rel="stylesheet" type="text/css" href="<?php echo $this->uri-
>baseUri;?>/assets/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="col-md-12">
<form class="form-horizontal" action="<?php echo $this->uri-
>baseUri;?>index.php/karyawan/proses" method="POST">
<fieldset>
<legend><?php echo $judul;?></legend>
<?php echo $valid->errorMessages(false,'<div class="alert alert-danger">',
'</div>');?>

<div class="form-group">
<label for="inputnama" class="col-lg-2 control-label">Nama Karyawan</label>
<div class="col-lg-8">
<input type="text" class="form-control" id="inputnama" name="nama"
placeholder="Masukkan Nama" autofocus autocomplete="off" value="<?php echo
$valid->value('nama');?>">
</div>
</div>

<div class="form-group">
<label for="alamat" class="col-lg-2 control-label">Alamat Lengkap</label>
<div class="col-lg-10">
<textarea class="form-control" rows="3" id="alamat" name="alamat"
placeholder="Masukkan Alamat"><?php echo $valid-
>value('alamat');?></textarea>
</div>
</div>

2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

4











Oke perhatikan pada <?php echo $valid->errorMessages(false,'<div class="alert
alert-danger">', '</div>');?> baris kode tersebut memiliki fungsi untuk menampilkan Pesan error
ketika request data tidak sesuai dengan rules yang sudah kita buat. Sedangkan value="<?php echo
$valid->value('gaji');?>" kode tersebut berfungsi untuk menampilkan value dari form yang
sudah kita buat. Maksudnya gini, ketika kita inputkan nilai pada sebuah form dan kemudian ada request
yang gagal lolos dari validasi maka nilai yang sudah kita masukkan tidak terhapus / hilang.

Testing Validasi
Nah, setelah selesai membuat validasi yang kita inginkan sekarang saatnya mencoba apakah sudah
sesuai dengan rules yang sudah dibuat. Buka melalui browser dan ketikkan
http://localhost/project/app/index.php/karyawan. Jika validasi gagal maka akan muncul penampakkan
berikut :
Gambah diatas menunjukkan pesan error ketika nilai tidak dimasukkan ke dalam form yang ada. Dan
perhatikkan gambar berikut ini :

<div class="form-group">
<label for="gapok" class="col-lg-2 control-label">Gaji Pokok</label>
<div class="col-lg-5">
<input type="text" class="form-control" id="gapok" name="gaji"
placeholder="Masukkan Gaji" value="<?php echo $valid->value('gaji');?>">
</div>
</div>

<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="submit" class="btn btn-success">Simpan Data</button>
<button type="Reset" class="btn btn-primary">Ulangi</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</body>
</html>

Gambar 2. Hasil validasi request data
2014 TUTORIAL PANADA FRAMEWORK BY DIMAS EDU

5

Kembali ada request data yang gagal lolos dari validasi yang
sudah kita tentukkan. Kenapa? Coba kembali perhatikan
pada models validasi.php!
Pada kode disamping kita bisa lihat ada rules yang
mengharuskan minimal inputan pada form nama minimal
adalah 5 karakter.
Dan pada gaji inputan harus berupa numeric yang artinya
harus berupa angka bukan huruf ataupun kombinasi
keduanya




Nah, jika validasi berhasil maka akan muncul penampkkan berikut :







Demikian, tutorial mengenai form validation pada PanadaFramework. Semoga bermanfaat. ^_^

Gambar 3. Request yang kembali gagal oleh validasi.
Gambar 4. Penampakkan Validasi yang sukses

You might also like