hashemi / valideto
一个简单的PHP数据验证包,具有丰富的预设规则和自定义规则。
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^8.4|^9.0
- symfony/var-dumper: 5.2.x-dev
This package is auto-updated.
Last update: 2024-09-22 03:07:19 UTC
README
一个简单的PHP数据验证包,具有丰富的预设规则和自定义规则。
安装
您可以从composer开始。进入您的终端,从项目根目录运行此命令。
composer require hashemi/valideto
用法
完成安装后,是时候检查如何轻松使用Valideto了。
<?php use Hashemi\Valideto\Valideto; $data = [ 'first_name' => "Hashemi", 'last_name' => "Rafsan" , 'email' => 'rafsan@xyz.com' ]; $validator = new Valideto($data, [ 'first_name' => ['required', 'string'], 'last_name' => ['required', 'string'], 'email' => ['required', 'email'] ]); // Call "validate" for validating your data $validator->validate(); if ($validator->success()) { // do something... } if ($validator->fails()) { // do something if fails }
当您想要验证数据时,应该使用它。Valideto提供了许多默认的验证规则,但用户也可以自定义。如果您不想使用默认规则,也可以更改默认规则逻辑。Valideto提供了一个接口来更改默认的验证规则逻辑。
那么让我们看看您如何做,但建议不要更改它,一旦更改,您将承担结果责任
<?php use Hashemi\Valideto\Rules\DefaultRulesInterface; use Hashemi\Valideto\Valideto; class OwnRulesClass implements DefaultRulesInterface { public function setData(array $data): self {} public function isRequired(string $key): bool {} public function isNullable(string $key): bool {} public function isArray(string $key, bool $nullable = false): bool {} public function isAssoc(string $key, bool $nullable = false): bool {} public function isString(string $key, bool $nullable = false): bool {} public function isNumeric(string $key, bool $nullable = false): bool {} public function isDistinct(string $key, bool $nullable = false): bool {} public function isInteger(string $key, bool $nullable = false): bool {} public function isFloat(string $key, bool $nullable = false): bool {} public function isBoolean(string $key, bool $nullable = false): bool {} public function isSize(string $key, int $length, bool $nullable = false): bool {} public function isMax(string $key, int $value, bool $nullable = false): bool {} public function isMin(string $key, int $value, bool $nullable = false): bool {} } $data = [ 'first_name' => "Hashemi", 'last_name' => "Rafsan" , 'email' => 'rafsan@xyz.com' ]; $validator = new Valideto($data, [ 'first_name' => ['required', 'string'], 'last_name' => ['required', 'string'], 'email' => ['required', 'email'] ]); // Call "validate" for validating your data $validator->setRulesClass(new OwnRulesClass()); $validator->validate();
自己承担风险 :D
默认规则列表
- required
- max
- min
- gt
- gte
- lt
- lte
- eq
- nullable
- distinct
- date
- date_format
- array
- url
- ip
- boolean
- string
- digits
- size
- numeric
- integer
- float
- assoc
required
required 应用于当您期望数据中有该值时
示例
$validator = new Valideto($data, [ 'first_name' => ['required'], ]);
max
max 应用于当您需要检查值是否超过最大值时
示例
$validator = new Valideto($data, [ 'age' => ['max:24'], ]);
min
min 应用于当您需要检查值是否至少有最小值时
示例
$validator = new Valideto($data, [ 'age' => ['min:24'], ]);
gt
gt 应用于当您需要检查值是否大于时
示例
$validator = new Valideto($data, [ 'age' => ['gt:24'], ]);
gte
gte 应用于当您需要检查值是否大于等于时
示例
$validator = new Valideto($data, [ 'age' => ['gte:24'], ]);
lt
lt 应用于当您需要检查值是否小于时
示例
$validator = new Valideto($data, [ 'age' => ['lt:24'], ]);
lte
lte 应用于当您需要检查值是否小于等于时
示例
$validator = new Valideto($data, [ 'age' => ['lte:24'], ]);
eq
eq 应用于当您需要检查值是否等于时
示例
$validator = new Valideto($data, [ 'age' => ['eq:integer|float|string|boolean:24'], ]);
nullable
nullable 应用于当值不是必需时
示例
$validator = new Valideto($data, [ 'age' => ['nullable'], ]);
distinct
distinct 应用于当您不想在数组中重复值时
示例
$validator = new Valideto($data, [ 'hobbies' => ['array', 'distinct'], ]);
date
date 应用于当您检查日期是否有效时
示例
$validator = new Valideto($data, [ 'start_date' => ['date'], ]);
date_format
date_format 应用于当您检查日期格式是否有效时
示例
$validator = new Valideto($data, [ 'start_date' => ['date_format:Y-m-d'], ]);
array
array 应用于当您检查数据是否为数组时
示例
$validator = new Valideto($data, [ 'start_date' => ['date_format:Y-m-d'], ]);
url
url 应用于当您检查数据是否为URL时
示例
$validator = new Valideto($data, [ 'website' => ['url'], ]);
ip
ip 应用于当您检查数据是否为IP时
示例
$validator = new Valideto($data, [ 'ip' => ['ip'], ]);
boolean
boolean 应用于当您检查数据是否为布尔值时
示例
$validator = new Valideto($data, [ 'is_enable' => ['boolean'], ]);
email
email 应用于当您检查数据是否为电子邮件时
示例
$validator = new Valideto($data, [ 'email' => ['email'], ]);
string
string 应用于当您检查数据是否为字符串时
示例
$validator = new Valideto($data, [ 'first_name' => ['string'], ]);
numeric
numeric 应用于当您检查数据是否为数值时
示例
$validator = new Valideto($data, [ 'id' => ['numeric'], ]);
integer
integer 应用于当您检查数据是否为整数时
示例
$validator = new Valideto($data, [ 'id' => ['integer'], ]);
float
float 应用于当您检查数据是否为浮点数时
示例
$validator = new Valideto($data, [ 'price' => ['float'], ]);
assoc
assoc 应用于当您检查数据是否为关联数组时
示例
$validator = new Valideto($data, [ 'hobbies' => ['array', 'assoc'], ]);
贡献
欢迎提交拉取请求。对于任何更改,请先打开一个问题来讨论您想进行什么更改。