jhonymiler / validation
请求验证库
v1.0.0
2023-09-05 03:07 UTC
Requires
- illuminate/filesystem: ^10.21
- illuminate/translation: ^10.21
- illuminate/validation: ^10.21
README
以下PHP代码示例演示了如何使用Validator类验证特定格式的数据集。当您需要确保在处理数据之前数据满足特定标准时,此功能非常有用。代码使用Composer库Jhony.Validation\Validator来简化验证过程。
要求
- 已安装PHP(您至少应运行版本7.0)
- 已安装Composer以管理依赖项(https://composer.php.ac.cn/download/)
安装
确保已安装Composer,然后按照以下步骤操作:
- 将代码源代码克隆或下载到您的环境中。
- 在终端中,导航到代码目录并执行命令
composer install。这将安装必要的验证库。
使用
-
在数组
$payloads中设置要验证的数据。数组中的每个元素代表一组要验证的数据。 -
在数组
$rules中设置验证规则。数组$rules中的每个键对应于数据数组中的字段,并定义了该字段的验证规则。 -
代码将遍历payloads并根据定义的规则验证每个payload。
-
如果某个payload不符合验证规则,错误将存储在数组
$errors中。 -
如果有验证错误,代码将返回一个包含错误消息和错误详情的JSON响应。
-
如果没有验证错误,代码将继续执行而不会中断。
使用示例
您可以使用命令更改语言
$validator = new Validator('pt_BR');
在此示例中,验证了两组数据
数据集1
[
'returnStatus' => 0,
'message' => 123456,
'partyNumber' => '123',
'partyId' => 300000001,
'logdate' => '2023-01-01T00:00:00.000',
]
此集合包含不符合定义的验证规则的数据。
数据集2
[
'returnStatus' => null,
'message' => 'asdfasdsadf',
'partyNumber' => 123,
'partyId' => '1231233',
'logdate' => '2023-01-01',
]
此集合也包含不符合定义的验证规则的数据。
如果存在验证错误,代码将以JSON格式打印验证错误;如果所有数据集都通过验证,则继续执行。
执行
您可以在您的Web服务器或本地执行PHP代码。请确保已安装Composer并且所有依赖项都已正确配置。
要执行代码,只需在浏览器中访问PHP文件或在终端中执行即可。
use JhonyMiler\Validation require_once './vendor/autoload.php'; $payloads = [ [ 'returnStatus' => 0, 'message' => 123456, 'partyNumber' => '123', 'partyId' => 300000001, 'logdate' => '2023-01-01T00:00:00.000', ], [ 'returnStatus' => null, 'message' => 'asdfasdsadf', 'partyNumber' => 123, 'partyId' => '1231233', 'logdate' => '2023-01-01', ], ]; $rules = [ 'returnStatus' => 'required|integer', 'message' => 'required|string', 'partyNumber' => 'required|integer', 'partyId' => 'required|integer', 'logdate' => 'required|date_format:Y-m-d\TH:i:s.u', ]; $errors = []; $validator = new Validator(); foreach ($payloads as $key => $data) { $validation = $validator->make($data, $rules); if ($validation->fails()) { $errors[$key] = $validation->errors()->toArray(); } } if (!empty($errors)) { $response = [ 'message' => 'Erro de validação de dados.', 'errors' => $errors, ]; echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); exit; }