alexpts / simple-validator
Simple validate request data
Requires
- php: ^7.1
- alexpts/php-tools: ^3.0
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-11-15 03:04:34 UTC
README
Simple validator for validate accos arrays.
Install
composer require alexpts/simple-validator
Example
$body = (array)$this->request->getParsedBody(); $validator = new Validator; // shot format $errors = $validator->validate($body, [ 'parentId' => ['int', 'betweenInt:0:99999'], 'name' => ['string', 'min:3'], 'slug' => ['string', 'min:3', 'max:120'], 'sort' => ['int'] ]); // full format $errors = $validator->validate($body, [ 'parentId' => ['int', ['betweenInt' => [0, 99999]] ], 'name' => ['string', ['min' => [3]] ], 'slug' => ['string', ['min' => [3]], ['max' => [120]] ], 'sort' => ['int'] ]); // validate if exists $errors = $validator->validateIfExists($body, [ 'name' => ['string', ['min' => [3]] ], 'sort' => ['int'] // field not passed, not validate ]); // deep attributes $errors = $validator->validate($body, [ 'user' => ['array', 'min:3'], 'user.name' => ['string', 'min:3'], 'user.age' => ['int'], ]); $errors = $validator->validateIfExists($body, [ 'user' => ['array', 'min:3'], 'user.name' => ['string', 'min:3'], 'user.age' => ['int'], ]);
Validators:
string
The field under validation must be string
int
The field under validation must be integer
float
The field under validation must be float
array
The field under validation must be array
required
Required field
betweenInt:min:max
Int from range [min, max]
betweenFloat:min:max
Float from range [min, max]
bool
The field under validation must be boolean
alpha
The field under validation must be entirely alphabetic characters
alphaDash
The field under validation may have alpha-numeric characters, as well as dashes and underscores
alphaNum
The field under validation must be entirely alpha-numeric characters
date
The field under validation must be a valid date according to the strtotime PHP function
dateTime
Value instance of \DateTime object
inArray
Check value in array
min
Min length fot string, min value for number, min count for array
max
Max length fot string, max value for number, max count for array
The field under validation must be simple email string
Custom validator
You can add custom validator via method
public function registerRule(string $name, callable $handler): self