jzp-coder/json-guard

1.0.3 2021-05-21 13:52 UTC

This package is not auto-updated.

Last update: 2024-09-21 06:06:00 UTC


README

Build Status

关于

此包将league/json-guard与Symfony集成,并为League\JsonGuard\Validator实例提供轻量级构建器。

安装

composer require jzp-coder/json-guard

配置

目前,该包只需要存储JSON模式的文件夹路径

json_guard:
    json_schema_root_path: '%kernel.root_dir%/../config/schemas/'

用法

假设已设置json_schema_root_path,且其中包含一个test.json模式,您可以使用JSON构建器如下所示

    public function test(\JzpCoder\JsonGuard\Builder\JsonValidatorBuilder $builder)
    {
        $data = <<<EOF
{
    "eanCode": '123',
}
EOF;
        $validator = $builder->setJsonSchema('test')
            ->setData($data)
            ->build();

        return new Response($validator->passes());
    }

还添加了一个新的约束isNumeric,用于验证值是否为数字。因此,'123'123值将通过,但如果isNumeric设置为false,则123'123'值将不会通过。以下是一个JSON模式的简例

{
    "properties": {
        "eanCode": {
            "type": ["integer", "string"],
            "isNumeric": true
        }
    }
}

测试

vendor/bin/phpspec run

待添加的功能

将很快添加缓存模式的选项。

贡献

如果您想贡献,请Fork仓库,并从您的自定义分支向master创建一个pull request。谢谢!