Validator
Adalah module yang bertugas mem-validasi suatu data. Module ini juga
yang digunakan oleh lib-form
untuk validasi form.
Instalasi
Jalankan perintah di bawah di folder aplikasi:
mim app install lib-validator
Penggunaan
Module ini menyediakan satu library dengan nama LibValidator\Library\Validator
yang digunakan untuk mem-validasi data.
use LibValidator\Library\Validator;
$rules = [
'id' => [
'rules' => [
'required' => true
],
'filters' => [
'number' => true
],
'message' => [
'required' => 'other_locale_message_key_alternative'
]
],
'name' => [
'rules' => [
'required' => true,
'array' => true
],
'children' => [
'first' => [
'rules' => [
'required' => true,
'text' => 'alnum'
]
],
'last' => [
'rules' => [
'required' => true,
'text' => 'alnum'
],
'filters' => [
'string' => true
]
]
]
],
'team' => [
'rules' => [
'array' => true
],
'children' => [
'*' => [
'rules' => [
'array' => true,
],
'children' => [
'name' => [
'required' => true
]
]
]
]
]
];
$object = [
'id' => '12',
'name' => [
'first' => 'Mim',
'middle' => 'PHP',
'last' => 'Framework'
],
'team' => [
['name' => 'Worker'],
['name' => 'cURL']
]
];
list($result, $errors) = Validator::validate(objectify($rules), objectify($object));
// $result berisi informasi object setelah melewati validator
// dan filters
// #errors berisi informasi errors masing-masing fields.
Pada contoh di atas, masing-masing field memiliki nilai array yang
memiliki array key rules
. Properti ini berisi daftar rules yang
akan di coba ke nilai nya.
Untuk indexed array, nilai *
pada children
property menandakan
rules-rules tersebut di test ke masing-masing data di dalam array
tersebut.
Test
Jalankan perintah di bawah untuk unit test:
phpunit test