CodeIgniter - Validasi Formulir

Validasi adalah proses penting saat membangun aplikasi web. Ini memastikan bahwa data yang kami peroleh tepat dan valid untuk disimpan atau diproses. CodeIgniter telah membuat tugas ini sangat mudah. Mari kita pahami proses ini dengan contoh sederhana.

Contoh

Buat file tampilan myform.php dan simpan kode di bawah ini application/views/myform.php. Halaman ini akan menampilkan form dimana user dapat memasukkan namanya dan kami akan memvalidasi halaman ini untuk memastikan bahwa halaman tersebut tidak boleh kosong saat mengirimkan.

<html>
 
   <head> 
      <title>My Form</title> 
   </head>
	
   <body>
      <form action = "" method = "">
         <?php echo validation_errors(); ?>  
         <?php echo form_open('form'); ?>  
         <h5>Name</h5> 
         <input type = "text" name = "name" value = "" size = "50" />  
         <div><input type = "submit" value = "Submit" /></div>  
      </form>  
   </body>
	
</html>

Buat file tampilan formsuccess.php dan simpan di application/views/formsuccess.php. Halaman ini akan ditampilkan jika formulir berhasil divalidasi.

<html>
 
   <head> 
      <title>My Form</title>
   </head> 
	
   <body>  
      <h3>Your form was successfully submitted!</h3>  
      <p><?php echo anchor('form', 'Try it again!'); ?></p>  
   </body>
	
</html>

Buat file pengontrol Form.php dan simpan di application/controller/Form.php. Formulir ini akan menampilkan kesalahan jika tidak divalidasi dengan benar atau dialihkan keformsuccess.php halaman.

<?php
  
   class Form extends CI_Controller { 
	
      public function index() { 
         /* Load form helper */ 
         $this->load->helper(array('form'));
			
         /* Load form validation library */ 
         $this->load->library('form_validation');
			
         /* Set validation rule for name field in the form */ 
         $this->form_validation->set_rules('name', 'Name', 'required'); 
			
         if ($this->form_validation->run() == FALSE) { 
         $this->load->view('myform'); 
         } 
         else { 
            $this->load->view('formsuccess'); 
         } 
      }
   }
?>

Tambahkan baris berikut application/config/routes.php.

$route['validation'] = 'Form';

Mari kita jalankan contoh ini dengan mengunjungi URL berikut di browser. URL ini mungkin berbeda berdasarkan situs Anda.

http://yoursite.com/index.php/validation

Ini akan menghasilkan layar berikut -

Kami telah menambahkan validasi di pengontrol - Nameharus diisi sebelum mengirimkan formulir. Jadi, jika Anda mengklik tombol kirim tanpa memasukkan apa pun di bidang nama, maka Anda akan diminta untuk memasukkan nama sebelum mengirimkan seperti yang ditunjukkan pada layar di bawah ini.

Setelah berhasil memasukkan nama, Anda akan diarahkan ke layar seperti gambar di bawah ini.

Dalam contoh di atas, kami telah menggunakan pengaturan aturan yang diperlukan. Ada banyak aturan yang tersedia di CodeIgniter, yang dijelaskan di bawah ini.

Referensi Aturan Validasi

Berikut ini adalah daftar semua aturan asli yang tersedia untuk digunakan -

Aturan Parameter Deskripsi Contoh

required

Tidak Mengembalikan FALSE jika elemen formulir kosong.

matches

Iya Mengembalikan FALSE jika elemen formulir tidak cocok dengan yang ada di parameter. cocok dengan [form_item]

regex_match

Iya Mengembalikan FALSE jika elemen formulir tidak cocok dengan ekspresi reguler. regex_match [/ regex /]

differs

Iya Mengembalikan FALSE jika elemen formulir tidak berbeda dari yang ada di parameter. berbeda [form_item]

is_unique

Iya Mengembalikan FALSE jika elemen formulir tidak unik untuk tabel dan nama bidang di parameter. Catatan - Aturan ini mengharuskan Query Builder diaktifkan agar berfungsi. is_unique [table.field]

min_length

Iya Mengembalikan FALSE jika elemen formulir lebih pendek dari nilai parameter. min_length [3]

max_length

Iya Mengembalikan FALSE jika elemen formulir lebih panjang dari nilai parameter. max_length [12]

exact_length

Iya Mengembalikan FALSE jika elemen formulir tidak persis seperti nilai parameter. panjang_kepat [8]

greater_than

Iya Mengembalikan FALSE jika elemen formulir kurang dari atau sama dengan nilai parameter atau bukan numerik. lebih besar dari [8]

greater_than_equal_to

Iya Mengembalikan FALSE jika elemen formulir lebih kecil dari nilai parameter, atau bukan numerik. lebih besar dari_equal_to [8]

less_than

Iya Mengembalikan FALSE jika elemen formulir lebih besar dari atau sama dengan nilai parameter atau bukan numerik. kurang dari [8]

less_than_equal_to

Iya Mengembalikan FALSE jika elemen formulir lebih besar dari nilai parameter, atau bukan numerik. less_than_equal_to [8]

in_list

Iya Mengembalikan FALSE jika elemen formulir tidak ada dalam daftar yang ditentukan sebelumnya. in_list [merah, biru, hijau]

alpha

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain karakter alfabet.

alpha_numeric

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain karakter alfanumerik.

alpha_numeric_spaces

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain karakter alfanumerik atau spasi. Sebaiknya digunakan setelah trim untuk menghindari spasi di awal atau akhir

alpha_dash

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain karakter alfanumerik, garis bawah, atau tanda hubung.

numeric

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain karakter numerik.

integer

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain bilangan bulat.

decimal

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain angka desimal.

is_natural

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain bilangan asli - 0, 1, 2, 3, dll.

is_natural_no_zero

Tidak Mengembalikan FALSE jika elemen formulir berisi apa pun selain bilangan asli, tetapi tidak nol - 1, 2, 3, dll.

valid_url

Tidak Mengembalikan FALSE jika elemen formulir tidak berisi URL yang valid.

valid_email

Tidak Mengembalikan FALSE jika elemen formulir tidak berisi alamat email yang valid.

valid_emails

Tidak Menampilkan FALSE jika nilai apa pun yang diberikan dalam daftar yang dipisahkan koma bukan email yang valid.

valid_ip

Tidak Mengembalikan FALSE jika IP yang diberikan tidak valid. Menerima parameter opsional 'ipv4' atau 'ipv6' untuk menentukan format IP.

valid_base64

Tidak Mengembalikan FALSE jika string yang diberikan berisi apa pun selain karakter Base64 yang valid.