Class Validation for php
Validator
Validate input value, (*1)
Installation
composer require blackbear/validation
Example
$data = [
'age' => 20,
'email' => 'cong.itsoft@gmail.com'
];
$rules = [
'age' => 'required',
'email' => 'email|required'
];
$messages = [
'age.required' => 'Please fill age',
'email.email' => 'Please fill email'
];
$validator = new Validator($data, $rules, $messages);
if ($validator->passes()) {
echo 'Validate successful';
} else {
echo 'Validate fails'
}
Get error messages
$errors = $validator->getErrors();
Add custom rule
$validator->addExtension('bigger', function($attribue, $value) {
return $value > $attribue[0];
});
$data = [
'age' => 20,
'email' => 'cong.itsoft@gmail.com'
];
$rules = [
'age' => 'required|bigger:18',
'email' => 'email|required'
];
$messages = [
'age.required' => 'Please fill age',
'email.email' => 'Please fill email'
];
$validator = new Validator();
$validator->setData($data)
->setRules($rules)
->setMessages($messages);
if ($validator->passes()) {
echo 'Validate successful';
} else {
echo 'Validate fails'
}
Public method
setData(array $data), (*2)
setRules(array $rules), (*3)
setMessages(array $messages), (*4)
passes(), (*5)
fails(), (*6)
Default rules
required, (*7)
email, (*8)
exception, (*9)
ip, (*10)
min: min:20, (*11)
max: max:20, (*12)
in_array: in_array:1,2,3, (*13)
not_in_array: not_in_array:1,2,3, (*14)
between: between:10,100, (*15)
regex: regexp:/^([\d]+)$/, (*16)
url, (*17)
int, (*18)
float, (*19)
double, (*20)
boolean, (*21)
nullable, (*22)
equals: equals:8, (*23)
Unit test, (*24)