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:
$valueNilai yang perlu di validasi$optionsNilai rule options pada kofigurasi, pada contoh di bawah, nilai ini menjaditrue.$objectObject dimana nilai ini diambil.$fieldNama$objectproperti darimana nilai diambil.$rulesDaftar semua rules yang juga di test pada nilai ini.
Contoh penggunaan pada aplikasi adalah sebagai berikut:
$rules = [
'name' => [
'rules' => [
'ifirst' => true
]
]
];