lavibi/popoya

验证器

0.0.6 2023-07-05 00:05 UTC

This package is auto-updated.

Last update: 2024-09-05 02:39:20 UTC


README

Popoya -> Poppoya

一个简单的PHP验证库。

Build Status Scrutinizer Code Quality Code Coverage

单个验证器

单个验证器

use Lavibi\Popoya;

$sameValidator = new Popoya\Same();

$sameValidator->setOptions['
    'compared_value' => 5
'];

$sameValidator->isValid(5);

可以通过可读方法添加选项

use Lavibi\Popoya;

$sameValidator = new Popoya\Same();

$sameValidator->sameAs(5); // set options compared_value = 5

$sameValidator->isValid(5);

验证器链

使用多个验证器验证值

$chainValidator = new Popoya\ValidatorChain();

$chainValidator->addValidator((new Popoya\Same())->setOptions(...));
$chainValidator->addValidator((new Popoya\NotSame())->setOptions(...));

$chainValidator->isValid(5);

验证器

适用于表单数据、API参数等数据集的完整验证器

$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()
));