Validator Filters
Filters adalah fungsi-fungsi yang bertugas mengubah nilai suatu object.
Di bawah ini adalah daftar filters yang sudah ada di module init:
arrayMengubah nilai menjadi array.booleanMengubah nilai menjadi boolean.emptystr2nullMengubah nilai empty string menjadi null.floatMengubah nilai menjadi float.integerMengubah nilai menjadi integer.lowercaseMengubah nilai menjadi lowercase.objectMengubah nilai menjadi object.roundMembulatkan nilai suatu nilai float. Nilai konfig ini adalah jumlah angka dibelakang koma.stringMengubah nilai menjadi string.ucwordsMengimpelmentasikan fungsiucwordske nilai.uppercaseMengubah 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:
$valueNilai yang perlu di proses.$optionsNilai properti filters di konfigurasi. Pada contoh di bawah, nilai dari$optionsadalahtrue.$objectObject darimana nilai ini diambil.$fieldsNama properti dari nilai ini pada$object.$filtersDaftar 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
]
]
];