eth8505/zf-rest-queryparam-validation

此软件包已被弃用且不再维护。作者建议使用 eth8505/laminas-api-tools-rest-queryparam-validation 软件包。

zf-rest 的查询字符串验证

1.0.0 2017-12-08 22:39 UTC

This package is auto-updated.

Last update: 2020-09-15 16:55:28 UTC


README

!! 本仓库不再维护,请使用 eth8505/laminas-api-tools-rest-queryparam-validation 代替 !!

Eth8505\ZfRestQueryParamValidation - ZF3 模块用于 zf-rest 查询字符串验证

Eth8505\ZfRestQueryParamValidation 模块允许您像使用 zfcampus/zf-content-validation 对实体进行验证一样,使用 zfcampus/zf-rest 验证查询参数。

安装方法

通过 composer 安装 eth8505/zf-rest-queryparam-validation 包。

$ composer require eth8505/zf-rest-queryparam-validation

在您的 application.config.php 文件中加载模块,如下所示

<?php

return [
	'modules' => [
		'Eth8585\\ZfRestQueryParamValidation',
		// ...
	],
];

使用方法

就像使用 zfcampus/zf-content-validation 一样,在您的 module.config.php 文件的 zf-content-validation 部分指定一个 query_filter 键并注册一个 input_filter_spec。有关更多信息,请参阅 apigility 文档

REST 控制器的通用查询参数验证

<?php
return [
// ...
    'zf-content-validation' => [
        'MyModule\\V1\\Rest\\MyModule\\Controller' => [
            'query_filter' => 'MyModule\\V1\\Rest\\MyModule\\QueryValidator',
        ],
    ],
// ...
    'input_filter_specs' => [
        'MyModule\\V1\\Rest\\MyModule\\QueryValidator' => [
            0 => [
                'required' => false,
                'validators' => [
                    // ...
                ],
                'filters' => [],
                'name' => 'my_param',
                'field_type' => 'integer',
            ],
        ],
    ],
];

特定操作查询验证

<?php
return [
// ...
    'zf-content-validation' => [
        'MyModule\\V1\\Rest\\MyModule\\Controller' => [
            'query_filter' => [
                'default' => 'MyModule\\V1\\Rest\\MyModule\\QueryValidator',
                'fetchAll' => 'MyModule\\V1\\Rest\\MyModule\\FetchAllQueryValidator'
            ],
        ],
    ],
// ...
    'input_filter_specs' => [
        'MyModule\\V1\\Rest\\MyModule\\QueryValidator' => [
            0 => [
                'required' => false,
                'validators' => [
                    // ...
                ],
                'filters' => [],
                'name' => 'my_param',
                'field_type' => 'integer',
            ],
        ],
        'MyModule\\V1\\Rest\\MyModule\\FetchAllQueryValidator' => [
            0 => [
                'required' => false,
                'validators' => [
                    // ...
                ],
                'filters' => [],
                'name' => 'my_fetch_all_param',
                'field_type' => 'integer',
            ], 
        ]
    ],
];

感谢

感谢 jdelisle 及其 Query String validation gist,本模块即基于此。