Senin, 21 September 2015
TUGAS 4 MEMBUAT FORM DENGAN VALIDASI FORM
Ricardus Stefanus Deru
131110676
Sebelumnya kita sudah menggunakan form_helper, kita juga memerlukan controller dan view.
Pada bagian controller, kita dapat menambahkan $this->load->library('form_validation'); untuk memanggil library form_validation.
kemudain kita dapat mengatur rules variabel-variabel pada form. Contoh penggunaannya adalah:
$this->form_validation->set_rules('username', 'Username', 'required'); Di mana variabel pertama adalah nama variabel yang akan diberi rule, variabel kedua adalah nama yang akan ditampilkan pada error messages, dan variabel ketiga adalah peraturan-peraturan yang diberikan.
Pada bagian controller kita juga menambahkan $this->form_validation->run(), guna mengecek apakah form sudah diisi dengan benar atau tidak.
Sementara pada bagian view, kita menambahkan echo validation_errors(); untuk menampilkan pesan error apabila terjadi kesalahan pengisian form.
berikut ini adalah contoh cara menampilkan pesan error pada sebuah pengisian form :
sebelumnya kita membuat class register.php dan berikut source code phpnya :
<style type="text/css">
#eror_div{
font:normal 10px Tahoma,Verdana;
display:block;
width:500px;
border:red 1px solid;
padding:5px;
}
#eror_div p{
margin:0 0 0 0;
padding:0 0 0 0;
color:red;
}
#msg_div{
font:normal 10px Tahoma,Verdana;
display:block;
width:500px;
border:green 1px solid;
padding:5px;
color:green;
}
body
{
margin:50px;
font-family:Arial;
background:#eee;
}
#wrap
{
margin:auto;
width:auto;
border:5px solid #ccc;
padding:5px;
background:#fff;
box-shadow:4px 4px 10px 2px #888;
}
#content h1
{
font-size:35px;
font-weight:bold;
color:#FF9900;
}
</style>
</head>
<body>
<div id="wrap">
<div id="content">
<h1>Formulir Pendaftaran Mahasiswa Baru</h1>
<h5><font face = "Lucida Calligraphy" size="3" color="blue"><marquee direction="up" scrollamount="2">Data Calon Mahasiswa</marquee></font></h5>
<hr>
<form method="post" name="frm" action="">
<table>
<tr> <td>Nama </td> <td>:</td> <td><input type="text" name="nama" class="teks" size="40" /></td> </tr>
<tr> <td>Jenis Kelamin</td> <td>:</td> <td><input type="radio" name="jk" />Pria
<input type="radio" name="jk" />Wanita</td>
<td>Anak Ke<td>:</td><td><input type="text" name="ak" class="teks" size="1" />
Jumlah sdr kandung: <input type="text" name="jmlsaudara" class="teks" size="1" />
</td></tr>
<tr> <td>Tempat Lahir </td> <td>:</td> <td><select name="tl">
<option value="pilihan">-pilihan-</option>
<option value="dj">Dki Jakarta</option>
<option value="jb">Jawa Barat</option>
<option value="jt">Jawa Timur</option>
<option value="d">D I Yogyakarta</option>
<option value="nac">Nangro Aceh Darusalam</option>
<option value="su">Sumatra Utara</option>
<option value="sb">Sumatra Barat</option>
<option value="r">Riau</option>
<option value="j">Jambi</option>
<option value="ss">Sumatra Selatan</option>
</select>
</td> <td>Propinsi</td> <td>:</td> <td><select name="prop">
<option value="pilihan">-pilihan-</option>
<option value="dj">Dki Jakarta</option>
<option value="jb">Jawa Barat</option>
<option value="jt">Jawa Timur</option>
<option value="d">D I Yogyakarta</option>
<option value="nac">Nangro Aceh Darusalam</option>
<option value="su">Sumatra Utara</option>
<option value="sb">Sumatra Barat</option>
<option value="r">Riau</option>
<option value="j">Jambi</option>
<option value="ss">Sumatra Selatan</option>
</select>
</td></tr>
<tr> <td>Tanggal Lahir</td> <td>:</td> <td><select name="tanggal">
<option value="Tanggal">-Tanggal-</option>
<option value="tanggal1">1</option>
<option value="tanggal2">2</option>
<option value="tanggal3">3</option>
<option value="tanggal4">4</option>
<option value="tanggal5">5</option>
<option value="tanggal6">6</option>
<option value="tanggal7">7</option>
<option value="tanggal8">8</option>
<option value="tanggal9">9</option>
<option value="tanggal10">10</option>
</select>
- <select name="bulan">
<option value="Bulan">-Bulan-</option>
<option value="bulan1">Januari</option>
<option value="bulan2">Febuari</option>
<option value="bulan3">Maret</option>
<option value="bulan4">April</option>
<option value="bulan5">Mai</option>
<option value="bulan6">Juni</option>
<option value="bulan7">Juli</option>
<option value="bulan8">Agustus</option>
<option value="bulan9">September</option>
<option value="bulan10">Oktober</option>
</select>
- <select name="tahun">
<option value="Tahun">-Tahun-</option>
<option value="tahun1">1990</option>
<option value="tahun2">1991</option>
<option value="tahun3">1992</option>
<option value="tahun4">1993</option>
<option value="tahun5">1994</option>
<option value="tahun6">1995</option>
<option value="tahun7">1996</option>
<option value="tahun8">1997</option>
<option value="tahun9">1998</option>
<option value="tahun10">1999</option>
</select>
</td> </tr>
<tr> <td>Warga Negara</td> <td>:</td>
<td><input type="radio" name="wn" />WNI
<input type="radio" name="wn" /> WNA </td>
<td>Agama</td> <td>:</td> <td><select name="ag">
<option value="pilihan">-pilihan-</option>
<option value="islam">Islam</option>
<option value="kristen">Kristen</option>
<option value="katolik">Katolik</option>
<option value="hindu">Hindu</option>
<option value="budha">Budha</option>
<option value="konghucu">Konghucu</option>
<option value="lainnya">Lainnya</option>
</select>
</td> </tr>
<tr> <td>Nama SMA/sederajat</td> <td>:</td> <td><input type="text" name="namasma" class="teks" size="40" />
</td> </tr>
<tr> <td>Alamat SMA</td> <td>:</td> <td><textarea name="alamatsma" cols="36" rows="3" id="alamat" class="teksarea" ></textarea>
</td> </tr>
<tr> <td>Propinsi SMA</td> <td>:</td> <td><select name="propsma">
<option value="pilihan">-pilihan-</option>
<option value="dj">Dki Jakarta</option>
<option value="jb">Jawa Barat</option>
<option value="jt">Jawa Timur</option>
<option value="d">D I Yogyakarta</option>
<option value="nac">Nangro Aceh Darusalam</option>
<option value="su">Sumatra Utara</option>
<option value="sb">Sumatra Barat</option>
<option value="r">Riau</option>
<option value="j">Jambi</option>
<option value="ss">Sumatra Selatan</option>
</select>
</td></tr>
<tr> <td>Jurusan</td> <td>:</td> <td><select name="jrus">
<option value="pilihan">-pilihan-</option>
<option value="TIK">tehnik informatika dan komputer</option>
<option value="DKV">desain komunikasi visual</option>
<option value="SI">sistem informasi</option>
<option value="DGM">desain grafis dan multimedia</option>
<option value="TKJ">tehnik komputer dan jaringan</option>
<option value="DMW">digital marketing dan web</option>
</select>
</td><td>Total Nilai UAN<td>:</td><td><input type="text" name="tnu" class="teks" size="1" />
</tr>
<tr> <td>No Telpon/HP</td> <td>:</td> <td><input type="text" name="tlpn" class="teks" size="20" />
</td> </tr>
<tr> <td></td> <td></td> <td><input type="submit" name="btnKirim" value="Simpan" id="btnKirim" class="tombol" />
</td> </tr>
</table>
</form>
</div>
</div>
<div id="footer">
</div>
</body>
<br></br>
<?php
if($eror){
echo '<div id="eror_div">';
echo validation_errors();
echo '</div>';
}
if($register){
echo '<div id="msg_div">'.$register.'</div>';
}
?>
class register.php kita simpan pada file views.
selanjutnya kita membuat class home.php dan disimpan pada folder controller untuk memanggil file register.php dan berikut adalah source codenya :
home.php :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
public function index()
{
echo 'Selamat datang di CodeIgniter';
}
function register()
{
$data['eror']=false;
$data['register']=false;
//cek apakah ada tombol btnKirim
if($this->input->post('btnKirim')){
$paket = $this->input->post();
//memanggil library form vallidation
$this->load->library('form_validation');
//buat aturan terhadap form input
$config = array(
array(
'field' => 'nama', //nama elemen form
'label' => 'nama', //keterangan form
'rules' => 'required' //harus di isi,minimal 12 angka,integer
),
array(
'field' => 'jk',
'label' => 'Jenis Kelamin',
'rules' => 'required'
),
array(
'field' => 'ak',
'label' => 'Anak Ke',
'rules' => 'required'
),
array(
'field' => 'jmlsaudara',
'label' => 'Jumlah Sdr. Kandung',
'rules' => 'required'
),
array(
'field' => 'tl',
'label' => 'Tempat Lahir',
'rules' => 'required'
),
array(
'field' => 'tanggal',
'label' => 'Tanggal Lahir',
'rules' => 'required'
),
array(
'field' => 'bulan',
'label' => 'Bulan',
'rules' => 'required'
),
array(
'field' => 'tahun',
'label' => 'Tahun',
'rules' => 'required'
),
array(
'field' => 'prop',
'label' => 'Propinsi',
'rules' => 'required'
),
array(
'field' => 'wn',
'label' => 'Warga Negara',
'rules' => 'required'
),
array(
'field' => 'ag',
'label' => 'Agama',
'rules' => 'required'
),
array(
'field' => 'namasma',
'label' => 'Nama SMA/sederajat',
'rules' => 'required'
),
array(
'field' => 'alamatsma',
'label' => 'Alamat SMA',
'rules' => 'required'
),
array(
'field' => 'propsma',
'label' => 'Propinsi SMA',
'rules' => 'required'
),
array(
'field' => 'jrus',
'label' => 'Jurusan',
'rules' => 'required'
),
array(
'field' => 'tnu',
'label' => 'Total Nilai UAN',
'rules' => 'required'
),
array(
'field' => 'tlpn', //nama elemen form
'label' => 'No Telpon/HP', //keterangan form
'rules' => 'required|min_length[12]|integer' //harus di isi,minimal 12 angka,integer
),
);
//cek jika form validationnya tidak menemukan kesalahan
$this->form_validation->set_rules($config);
if($this->form_validation->run()!==false){
$this->load->model('webmodel');
$data['register']=$this->webmodel->proses_register($paket);
}
else{
$data['eror']=true;
}
}
$this->load->view('register',$data);
}
}
?>
kemudian kita sebuha file dengan webmodel.php untuk menampilkan data.
berikut adalah source code dari webmodel.php :
<?php
class Webmodel extends CI_Model {
function __construct()
{
parent::__construct();
}
function test()
{
return 'Data untuk test model';
}
function proses_register($arr)
{
$nama = $arr['nama'];
$jeniskelamin = $arr['jk'];
$anakke = $arr['ak'];
$jumlahsdr = $arr['jmlsaudara'];
$TempatLahir = $arr['tl'];
$Propinsi = $arr['prop'];
$TanggalLahir = $arr['tanggal'];
$BulanLahir = $arr['bulan'];
$TahunLahir = $arr['tahun'];
$Warganegara = $arr['wn'];
$Agama = $arr['ag'];
$NamaSMA = $arr['namasma'];
$AlamatSMA = $arr['alamatsma'];
$propinsisma = $arr['propsma'];
$jurusan = $arr['jrus'];
$total_nilai_uan = $arr['tnu'];
$No_telpon = $arr['tlpn'];
$data ='nama : '.$nama.'<br/>'.
'jenis kelamin: '.$jeniskelamin.'<br/>'.
'Anak ke : '.$anakke.'<br/>'.
'jumlah saudara: '.$jumlahsdr.'<br/>'.
'Tempat Lahir : '.$TempatLahir.'<br/>'.
'Tanggal Lahir : '.$TanggalLahir.'<br/>'.
'Propinsi : '.$Propinsi.'<br/>'.
'Warga negara : '.$Warganegara.'<br/>'.
'Agama : '.$Agama.'<br/>'.
'Nama SMA : '.$NamaSMA.'<br/>'.
'Alamat SMA : '.$AlamatSMA.'<br/>'.
'Propinsi SMA : '.$propinsisma.'<br/>'.
'Jurusan : '.$jurusan.'<br/>'.
'Total Nilai UAN : '.$total_nilai_uan.'<br>'.
'No Telpon : '.$No_telpon;
return $data;
}
}
?>
cara menampilkan hasilnya adalah dengan cara mengetik : http://localhost/franco/index.php/home/register.
berikut tampilan output jika semua data pada form diisi :
tampilan pesan error
Langganan:
Postingan (Atom)









