initphp/validation

InitPHP 验证库

1.0.2 2022-07-05 12:57 UTC

This package is auto-updated.

Last update: 2024-09-05 17:27:07 UTC


README

这是一个简单快速的库,用于验证数据是否符合您想要的类型和结构。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

要求

  • PHP 7.4 或更高版本
  • PHP MB_String 扩展

安装

composer require initphp/validation

验证规则

  • integer : 验证数据是否为整数。
  • float : 验证数据是否为浮点数。
  • numeric : 验证数据是否为数值。
  • string : 验证数据是否为字符串类型。
  • boolean : 验证数据是否具有逻辑值或等效值。
  • array : 验证数据是否为数组。
  • mail : 验证数据是否为电子邮件地址。
  • mailHost : 验证数据是否为指定主机的电子邮件地址。
  • url : 验证数据是否为URL地址。
  • urlHost : 验证数据是否为指定主机的URL(或子域名)。
  • empty : 验证数据是否为空。
  • required : 验证数据是否非空。
  • min : 定义数据可以具有的最小值。对于字符串或数组数据,指定最小元素/字符数。
  • max : 定义数据可以具有的最大值。对于字符串或数组数据,指定最大元素/字符数。
  • length : 验证字符数是否在指定的范围内。
  • range : 数值必须在指定的范围内。
  • regex : 使用预定义或后定义的正则表达式验证数据。
  • date : 尝试验证数据是否为日期。
  • dateFormat : 验证数据是否为指定格式的日期。
  • ip : 验证数据是否为IP地址。
  • ipv4 : 验证数据是否为IPv4。
  • ipv6 : 验证数据是否为IPv6。
  • again : 验证数据是否与数据键的值相同。
  • equals : 验证数据是否与指定的值相等。
  • startWith : 验证数据是否以指定的值开头。
  • endWith : 数组或字符串。验证数据是否以指定的值结尾。
  • in : 不区分大小写的验证指定值是否在数据中。
  • notIn : 不区分大小写的验证指定值不在数据中。
  • contains : 验证指定的敏感值是否在数据中。
  • notContains : 验证指定的敏感值不在数据中。
  • alpha : 验证数据是否为字母值。
  • alphaNum : 验证数据是否为字母数字值。
  • creditCard : 验证数据是否为信用卡号码。
  • only : 仅验证指定的值之一,不区分大小写。
  • strictOnly : 仅区分大小写地验证是否为指定的值之一。
  • optional : 如果有数据,则必须遵守规则,但如果没有与对应键的数据,验证不会失败。

使用

require_once "vendor/autoload.php";
use \InitPHP\Validation\Validation;

$validation = new Validation($_GET);

// GET /?name=Muhammet&year=2022

$validation->rule('name', 'string');
$validation->rule('year', 'integer|range(1970...2099)');

if($validation->validation()){
    // ... process
}else{
    foreach ($validation->getError() as $err) {
        echo $err . "<br />\n";
    }
}

可调用验证规则;

require_once "vendor/autoload.php";
use \InitPHP\Validation\Validation;

$validation = new Validation($_GET);

// GET /?number=13

$validation->rule('number', function ($data) {
    if(($data % 2) == 0){
        return true;
    }
    return false;
}, "{field} must be an even number.");

if($validation->validation()){
    // ... process
}else{
    foreach ($validation->getError() as $err) {
        echo $err . "<br />\n";
    }
}

您可以查看 tests/Validation/ValidationUnitTest.php 文件以查看示例用法。

获取帮助

如果您有任何问题、担忧、错误报告等,请在存储库的问题跟踪器中提交问题。

参与其中

本项目的所有贡献都将根据MIT许可协议发布。通过提交拉取请求或提交错误报告、问题或功能请求,您同意遵守本版权利益放弃条款。

有两种主要方式可以帮助

  • 使用问题跟踪器,
  • 更改代码库。

使用问题跟踪器

使用问题跟踪器提出功能请求、报告错误和提问。这也是与项目开发者和对此解决方案感兴趣的其他人建立联系的好方法。

使用问题跟踪器找到贡献的方法。找到错误或功能,在问题中说明您将承担这项工作,然后按照以下更改代码库的指南操作。

更改代码库

一般来说,您应该在此存储库的基础上进行分支,在自己的分支中进行更改,然后提交拉取请求。所有新代码都应具有相关的单元测试,以验证实现的功能和缺陷的存在或不存在。此外,代码应遵循项目规定的任何风格和架构指南。如果没有这样的指南,应模仿现有代码库中的风格和模式。

致谢

许可协议

版权所有 © 2022 MIT许可协议