mediadevs / validator
一个轻量级、可扩展的PHP验证包。
1.0.x-dev
2019-12-23 10:15 UTC
Requires
- php: ^7.2
- ext-curl: *
- ext-fileinfo: *
- ext-json: *
- ext-mysqli: *
- mediadevs/configuration: 1.0.1
- mediadevs/response-handler: 1.0.0
Requires (Dev)
- mikevandiepen/typhp: ^0.2.2
- nunomaduro/phpinsights: ^1.11.1
- php-coveralls/php-coveralls: ^2.0
- phpstan/phpstan: ^0.11.0
- phpunit/phpunit: 8
- sempro/phpunit-pretty-print: ^1.2.1
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-23 20:43:45 UTC
README
安装
通过Composer
$ composer require mediadevs/validator
通过GIT
HTTPS: git clone https://github.com/mediadevs/validator.git SSH: git clone git@github.com:mediadevs/validator.git
用法
<?php Mediadevs\Validator\Validator::validate($clean, [ 'name' => 'required|string|min_length:6', 'email' => 'required|email|allowed_providers:hotmail.com,outlook.com,live.com,gmail.com,yourwebsite.tld', ], $language); /** * @var $language - is optional and defaults to english * @path './config/translations.php' */
验证过滤器
基本
日期
邮箱
主机
数字
字符串
创建自定义验证过滤器
创建自定义验证过滤器并不困难,我已经尽量使其尽可能简单和流畅。这个库也是按照每个过滤器作为一个独立类来结构化的,所有的类都会在服务提供者中注册。每个过滤器都可以有无限数量的别名(只要别名或标识符是唯一的)。
从库外部注册
<?php Mediadevs\Validator\Services\FilterProvider::getInstance(); // Registering one of the test classes Mediadevs\Validator\Services\FilterProvider::register([ \Vendor\Package\Namespace\CustomFilters\MyFirstCustomFilter::class, \Vendor\Package\Namespace\CustomFilters\MySecondCustomFitler::class, ]);
从库内部注册
第一步
创建自己的验证或清理类。
- 导航到
src/Filters/
并创建一个名为/Custom
的新文件夹
第二步
- 创建一个新的类(可以从:
/examples/create_custom_filters/option_b/FilterExample.php
中的基类示例中获取)
第三步
- 输入您的自定义验证逻辑,确保它返回一个
boolean
第四步
- 将您的过滤器添加到
/src/Services/FilterProvider.php
中的 $providers 数组中的新条目
<?php namespace Mediadevs\Validator\Services; class FilterProvider { /** * The filters / providers for the Validator package * The classes are grouped by validation type and sorted alphabetically. * * @var array */ private $providers = array( /*----[ Custom validation ]-----------------------------------------------------------------------------------*/ \Vendor\Package\Namespace\CustomFilters\MyFirstCustomFilter::class, \Vendor\Package\Namespace\CustomFilters\MySecondCustomFilter::class, ); }
第五步
- 当您创建一个验证过滤器时,非常重要的一点是您需要添加一个响应消息,这将提示用户。
- 对于响应消息,我们使用版本
v1.0.0
的包mediadevs/response-handler
。 - 对于响应消息,您也可以按语言添加翻译。您可以查看文件以获取更多信息。这不是那么令人兴奋 =)
第六步
恭喜您,您已经创建了自己的过滤器!现在将其发布到世界上去使用它!!
待办事项
- 新的验证过滤器
- credit_card
- iban
- address (位置)
- datetime格式/模式
- 项目变更
- 添加一个可以手动覆盖响应翻译的方法
- 创建一个具有不同和轻量级方法的门面,用于替代验证
- 翻译
- 瑞典语翻译
- 德语翻译
- 通用
- 使代码更易于在较旧版本的PHP中使用
- 为多个库(Symphony、Laravel、Yii、CackePHP等)实现功能
灵感
这个库受到了一些其他库的很大启发,我只是想找到一个更简单、更有结构的验证方法来验证我的 $_POST[]
。由于其他一些库/包的结构不是那么有结构,只是将所有过滤器存储在一个文件中,我决定自己构建。
特别感谢
变更日志
有关最近更改的更多信息,请参阅CHANGELOG。
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING 和 CODE_OF_CONDUCT。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件contact@mediadevs.nl联系,而不是使用问题跟踪器。
鸣谢
许可证
麻省理工学院许可证(MIT)。更多信息请参阅许可证文件。