Validator Custom Rules
Developer di beri kebebasan untuk membuat rule mereka sendiri. Untuk membuat custom rule, pastikan mendaftarkan pada konfigurasi module seperti di bawah:
return [
// ...
'libValidator' => [
'validators' => [
'ifirst' => 'MyRule\\Rules\\Custom::ifirst'
]
]
// ...
];
Kemudian buatkan class dengan static method untuk validator ini:
namespace MyRule\Rules;
class Custom{
static function ifirst($value, $options, $object, $field, $rules): ?array{
if(substr($value, 0, 1) === 'i')
return null;
return ['20.0'];
}
}
Parameter yang digunakan saat memanggil fungsi ini adalah:
$value
Nilai yang perlu di validasi$options
Nilai rule options pada kofigurasi, pada contoh di bawah, nilai ini menjaditrue
.$object
Object dimana nilai ini diambil.$field
Nama$object
properti darimana nilai diambil.$rules
Daftar semua rules yang juga di test pada nilai ini.
Contoh penggunaan pada aplikasi adalah sebagai berikut:
$rules = [
'name' => [
'rules' => [
'ifirst' => true
]
]
];