lefuturiste/validator

PS7 请求的简单验证助手

1.4.2 2021-01-20 21:06 UTC

This package is auto-updated.

Last update: 2024-09-21 04:48:19 UTC


README

Continuous integration

Simple php validator helper for PSR7 request.

如何使用?

从 PSR-7

$validator = new Validator($request->getParsedBody());

从 php 输入

$validator = new Validator($_POST);

验证方法(或规则)

$validator->required('example');
$validator->notEmpty('example');

还有更多验证方法(或规则)...

已知输入是否有效

$validator->isValid(); // TRUE|FALSE

获取错误

要获取您输入的所有错误列表,可以使用 getErrors() 方法,该方法返回一个包含所有错误的数组

$validator->getErrors();

您可以使用不同的格式获取错误,以规则为键

$validator->getErrors(\Validator\ValidationError::FORMAT_WITH_KEYS);

或作为数组的数组,其中每个数组代表一个错误,包含 'code' 和 'message' 键(用于符合 JSON:API 规范的 API 的格式)

$validator->getErrors(\Validator\ValidationError::FORMAT_ARRAY);

如果您不想每次都指定 ValidationError 格式,可以使用此静态调用将设置用于整个项目。例如,如果您想将 FORMAT_ARRAY 设置为整个项目的默认格式,可以使用以下代码

\Validator\ValidationError::setDefaultFormat(\Validator\ValidationError::FORMAT_ARRAY);

I18n

支持英语、法语和西班牙语

ValidationLanguage::setLang('fr'); // or `en` or `es`

测试

所有测试都在 tests 文件夹中。您可以使用以下命令运行测试(在运行测试之前,请先执行 composer install)。

  • 使用 composer: composer run testcomposer run tests
  • 在 Linux/mac 上: vendor/bin/phpunit tests
  • 在 Windows 上: vendor/bin/phpunit.bat tests