jermainedavy / json-validator
一个库,用于将 JSON 字符串与用 PHP 类定义的模型进行验证。
dev-master
2021-10-21 10:09 UTC
This package is auto-updated.
Last update: 2024-09-29 05:56:59 UTC
README
安装
要安装此包,请使用以下命令
composer install JermaineDavy\JsonValidator
如果您尚未安装 Composer 包管理器,可以在此 链接 下载
用法
此包允许将 JSON 字符串与由类表示的模型进行评估。
基本用法
使用简单,只需完成两件事。
- 定义模型
- 该模型必须是 Validator 类的子类。
use JermaineDavy\JsonValidator\Validator; class Test extends Validator{ public array $state = [ "type" => "boolean", "required" => true ]; public array $message = [ "type" => "string", "min" => 3, "max" => 100 ]; }
- 对模型运行 JSON 验证。
$validator = new Test(); $response = $validator->validate($json);
validate 方法返回一个包含仅两个属性的对象。验证的状态 status
和解释状态的 message
。如果返回的状态是 true
,则验证成功,否则验证失败,可以从消息中获得更多信息。
允许进行哪些检查?
- type(string)-> 检查 JSON 中指定的类型是否与模型中的类型匹配
- required(boolean) -> 检查模型中的字段是否在 JSON 中
- min(double|integer) -> 检查字符串长度或数字是否小于模型中指定的值
- max(double|integer) -> 检查字符串长度或数字是否大于模型中指定的值
- enum(array) -> 检查 JSON 值是否与给定数组中的任一值匹配
- regex(string|array) -> 执行 1 个或多个检查,查看值是否与正则表达式匹配
- dateFormat(string) -> 检查 JSON 值是否与给定的日期格式匹配
- custom(Closure) -> 用于自定义检查,这些检查可能未由此库定义。闭包应返回空字符串表示成功或错误字符串表示失败。
type 值也可以引用扩展 Validator 类的其他模型。例如。
use JermaineDavy\JsonValidator\Validator; class Test extends Validator{ public array $state = [ "type" => "boolean", "required" => true ]; public array $object = [ "type" => SecondTest::class ]; }
此语法适用于单个 SecondTest
实例或 SecondTest
数组