Skip to content

zahniar88/validator-ci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Helper Validator

Helper validator dibuat untuk membantu proses validasi form pada codeigniter. Memiliki beberapa fitur validasi yang dapat digunakan. Terinspirasi dari validator laravel.

Cara install

  • Download file Validator_helper
  • letakan pada folder helper codeigniter
  • load file validator dengan cara
$this->load->helper("validator_helper");

Cara menggunakan

$this->load->helper("validator_helper");
$validator = new Validator_helper;

$errors = $validator->setField("username", ["required", "max:30", "alpha_numeric"])
                    ->setField("password", ["required", "min:8", "confirm", "password"])
                    ->getErrors();

Jika terjadi error makan $errors akan menghasilkan output array seperti berikut:

array(
    "username" => "Pesan kesalahan sesuai validasi",
    "password" => "Pesan kesalahan sesuai validasi"
);

peraturan penulisan pada setField seperti berikut:

setField("nama_field", ["aturan"], "method");
// method: post || get -> default: post

Bekerja dengan form array

Cara menggunakan validasi jika menggunakan inputan array seperti contoh berikut:

<form action="" method="POST">
    <input type="text" name="field[]">
    <input type="text" name="field[]">
</form>

Maka penulisan validasinya seperti berikut:

$validator->setField("field[]", ["rules"])->getErrors();

/**
 * Output
 * array(
 *    "field_0" => "Field 0 message aturan",
 *    "field_1" => "Field 1 message aturan",
 * )
 * /

Berbeda halnya dengan validasi input file array, anda cukup menuliskan nama fieldnya saja seperti contoh berikut:

<form action="" method="POST">
    <input type="file" name="gambar[]">
    <input type="file" name="gambar[]">
</for

Maka penulisan validasinya seperti berikut:

$validator->setField("gambar", ["rules"])->getErrors();

/**
 * Output
 * array(
 *    "gambar_0" => "Gambar 0 message aturan",
 *    "gambar_1" => "Gambar 1 message aturan",
 * )
 * /

Fungsi yang tersedia

  • Required
setField("nama_field", ["aturan"], "method");
  • Min panjang karakter
setField("nama_field", ["min:angka"], "method");
  • Max panjang karakter
setField("nama_field", ["max:angka"], "method");
  • Alpha Space hanya membolehkan huruf dan spasi
setField("nama_field", ["alpha_space"], "method");
  • Alpha numeric hanya untuk huruf dan angka
setField("nama_field", ["alpha_space"], "method");
  • Numeric hanya untuk angka
setField("nama_field", ["alpha_space"], "method");
  • Regex membuat aturan regex sendiri menggunakan preg_match
setField("nama_field", ["regex:([a-z]+)"], "method");
  • Db exists, data harus tersedia pada database
setField("nama_field", ["db_exists:table,column"], "method");
  • Db unique, data harus belum tersedia pada database
setField("nama_field", ["db_unique:table,column,except,except_value"], "method");
  • In, data harus sama dengan yang disediakan
setField("nama_field", ["in:opsi1,opsi2"], "method");
  • Confirm, menyamakan field dengan field_confirm
setField("nama_field", ["confirm"], "method");
  • Password, validasi password harus memiliki huruf besar, kecil dan angka minimal 1
setField("nama_field", ["password"], "method");
  • Email, field input harus merupakan alamat email yang valid
setField("nama_field", ["email"], "method");
  • Url harus merupakan alamat yang valid
setField("nama_field", ["url"], "method");
  • Distinct, input field array harus unique
setField("nama_field", ["distinct"], "method");
  • Extension, validasi extensi uploadfile
setField("nama_field", ["extension:jpeg,png"], "method");
  • File size, validasi ukuran upload file
setField("nama_field", ["file_size:4000"], "method");
// size dalam bytes
  • File required, maka upload file wajib di isi
setField("nama_field", ["file_required"], "method");
// size dalam bytes

Untuk sementera baru itu yang dapat saya buat. belum sesempuran milik laravel :)

About

Helper validator untuk codeigniter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages