lexuss1979 / validol
简单的PHP验证器
1.0.0
2020-05-13 06:39 UTC
Requires
- ext-mbstring: *
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-23 19:25:38 UTC
README
PHP验证器
安装
使用以下命令安装最新版本:
$ composer require lexuss1979/validol
基本用法
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process(['name' => 'Olga', 'age' => 18], [ 'name' => 'required string min_len:2', 'age' => 'required integer min:16' ]); if ($validation->success()){ // Data is valid return $validation->data(); } else { // There are errors var_dump($validation->errors()); }
必需与有时
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process([], ['age' => 'required']); //fails $validation = Validator::process([], ['age' => 'sometimes integer']); //success $validation = Validator::process([ 'age' => 'seventeen' ], ['age' => 'sometimes integer']); // fails because age must be an integer value if presents
验证数据
您可以使用 $validation->data() 获取验证数据。它将只包含成功验证的键。
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process(['name' => 'Olga', 'age' => 18, 'email' => 'olga@gmail.test'], [ 'name' => 'required string min_len:2', 'age' => 'required integer min:16' ]); var_dump($validation->data()); // ['name' => 'Olga', 'age' => 18]
错误
如果验证失败,您可以通过 $validation-errors() 访问验证错误。它返回类似以下的关联数组。
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process(['name' => 'Olga', 'age' => ''], [ 'address' => 'required string', 'age' => 'required integer min:16' ]); var_dump($validation->errors()); // ['address' => ['address must be specified'], 'age' => ['age must be an integer value']]
键别名
使用 'as' 关键字在验证后更改数据键的签名。
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process(['firstname' => 'Olga'], [ 'firstname as name' => 'required']); var_dump($validation->data()); // ['name' => 'Olga']
错误消息
您可以指定自己的错误消息用于验证设置。
<?php use Lexuss1979\Validol\Validator; $validation = Validator::process(['weight' => 'heavy'], [ 'weight' => ['required integer min:10' => 'Something is wrong'] ]); var_dump($validation->errors()); // ['weight' => ['Something is wrong']]