kuroping/kurovalidator

简单、易用且强大的验证库

v0.2.0 2015-10-22 04:31 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:50:22 UTC


README

一个简单、易于使用的PHP验证库。

定义规则,自动检查用户输入,基于简单易用的配置。

安装

仅支持composer。

{
	"require": {
		"kurothing/kurovalidator": "0.1.*"
	}
}

或者运行命令 composer require "kuroping/kurovalidator" 0.1.*

用法

KuroValidator设计时考虑到易用性,因此它只接受两个参数:输入数据和配置数据。

输入数据简单易懂,只需传递您的信息源。配置数据稍微复杂一些,但一旦理解了其原理,就很容易理解。让我们看看一个基本示例,用于验证$_GET。

use KuroThing\KuroValidator\Validator;

$validator = new Validator();

$result = $validator->validate($_GET, [
	"field" => [
		"rules" => [
			"rule"	=> "rule setting",
			"rule2"	=> [
				"MultiValue"	=> "settings",
				"AreSupported"	=> true,
			],
		],
	],
]);

if ($result->passes()) {
	// Passes
} else {
	// Fails
}

// Or the reverse
if ($result->fails()) {
	// Fails
} else {
	// Passes
}

大部分代码都是自解释的,但让我们来看看validate()函数的第二个参数。

顶级值"field"是我们正在验证的$_GET全局变量中的内容。因此,如果我们想验证id查询参数,那么我们将"field"替换为"id"。

"field"的值是一个数组,它定义了规则、名称,并允许您覆盖规则中的canSkipmessage值。我们稍后会讨论覆盖这些值和设置名称,让我们先专注于解释规则的定义。

如你所见,"rules"元素是一个包含我们将要使用所有规则的数组。每个规则由"name" => "settings"定义,没有设置的规则不需要任何值。单设置和多设置规则都受支持,并已展示。对于多设置规则,它们需要一个关联数组,键是设置的名称,值是设置的值。

现有规则

更多信息

我将在以后提供更多示例和文档(例如创建新规则)。

致谢

  • 原始概念和实现 - Violin
    • 一些规则基于Violin中的实现,并带有"致谢:"和指向Github上文件链接的标记。这些规则是AlphaNumericDash、AlphaNumeric、Alpha、Date和Required。一些规则可能与Violin匹配或相似,但并没有使用Violin的实现。
  • AnonymousClass - Mihailoff
    • 用于在运行时动态创建(懒加载)规则,而不是使用基于类/接口的实现。

版权

版权 (c) 2015 [Nikey646] (https://github.com/Nikey646) 2015 [Alex Garrett] (https://github.com/alexgarrett)