Validator Filters
Filters adalah fungsi-fungsi yang bertugas mengubah nilai suatu object.
Di bawah ini adalah daftar filters yang sudah ada di module init:
array
Mengubah nilai menjadi array.boolean
Mengubah nilai menjadi boolean.emptystr2null
Mengubah nilai empty string menjadi null.float
Mengubah nilai menjadi float.integer
Mengubah nilai menjadi integer.lowercase
Mengubah nilai menjadi lowercase.object
Mengubah nilai menjadi object.round
Membulatkan nilai suatu nilai float. Nilai konfig ini adalah jumlah angka dibelakang koma.string
Mengubah nilai menjadi string.ucwords
Mengimpelmentasikan fungsiucwords
ke nilai.uppercase
Mengubah nilai menjadi uppercase.
Custom Filters
Jika filter yang tersedia masih kurang, maka developer di perbolehkan menambahkan filter buatannya sendiri. Pastikan membuat sebuah class dengan static method yang mengembalikan nilai akhir yang akan dikirimkan ke controler. Contoh di bawah adalah contoh sederhana filter yang mengubah suatu nilai menjadi integer:
namespace MyFilter\Filter;
class Custon
{
static function int($value, $options, $object, $field, $filters){
return (int)$value;
}
}
Kemudian tambahkan filer tersebut ke konfigurasi module dengan cara berikut:
return [
// ...
'libValidator' => [
'filters' => [
'int' => 'MyFilter\\Filter\\Custom::int'
]
]
// ...
];
Fungsi ini akan di panggil oleh validator dengan parameters:
$value
Nilai yang perlu di proses.$options
Nilai properti filters di konfigurasi. Pada contoh di bawah, nilai dari$options
adalahtrue
.$object
Object darimana nilai ini diambil.$fields
Nama properti dari nilai ini pada$object
.$filters
Daftar filters yang lain yang juga di implementasikan ke nilai ini.
Filter tersebut kemudian bisa digunakan di validator dengan bentuk seperti:
$rules = [
'age' => [
'rules' => [...],
'filters' => [
'int' => true
]
]
];