Popoya -> Poppoya
A simple PHP validator library.
Single validator
use Lavibi\Popoya;
$sameValidator = new Popoya\Same();
$sameValidator->setOptions['
'compared_value' => 5
'];
$sameValidator->isValid(5);
Options can be added via readable method
use Lavibi\Popoya;
$sameValidator = new Popoya\Same();
$sameValidator->sameAs(5); // set options compared_value = 5
$sameValidator->isValid(5);
Validate value with more than one validator
$chainValidator = new Popoya\ValidatorChain();
$chainValidator->addValidator((new Popoya\Same())->setOptions(...));
$chainValidator->addValidator((new Popoya\NotSame())->setOptions(...));
$chainValidator->isValid(5);
Full validator for dataset like form data, API params
$validator = new Popoya\Validator();
$validator->isRequired('username')->maxLenght(20);
$validator->isRequired('password')->lenght(30, 50);
$validator->isOptional('email')->isEmail();
$validator->isOptional('avatar')->isUpload()->isImage();
// PSR7 post request
$validator->isValid(array_merge(
$request->getParsedBody(),
$request->getUploadedFiles()
));