jhonymiler/validation

请求验证库

v1.0.0 2023-09-05 03:07 UTC

This package is auto-updated.

Last update: 2024-09-05 05:16:00 UTC


README

以下PHP代码示例演示了如何使用Validator类验证特定格式的数据集。当您需要确保在处理数据之前数据满足特定标准时,此功能非常有用。代码使用Composer库Jhony.Validation\Validator来简化验证过程。

要求

安装

确保已安装Composer,然后按照以下步骤操作:

  1. 将代码源代码克隆或下载到您的环境中。
  2. 在终端中,导航到代码目录并执行命令composer install。这将安装必要的验证库。

使用

  1. 在数组$payloads中设置要验证的数据。数组中的每个元素代表一组要验证的数据。

  2. 在数组$rules中设置验证规则。数组$rules中的每个键对应于数据数组中的字段,并定义了该字段的验证规则。

  3. 代码将遍历payloads并根据定义的规则验证每个payload。

  4. 如果某个payload不符合验证规则,错误将存储在数组$errors中。

  5. 如果有验证错误,代码将返回一个包含错误消息和错误详情的JSON响应。

  6. 如果没有验证错误,代码将继续执行而不会中断。

使用示例

您可以使用命令更改语言

$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;
}