滴答/验证器

用于检查输入的验证器

dev-master 2016-05-08 17:50 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:37:04 UTC


README

Build Status Code Climate Test Coverage Latest Release

描述

验证器允许进行统一的输入检查。此外,还可以过滤输入。

通过验证器进行验证

验证器是一个实现了 IValidator 接口的对象,因此提供了一个 validate($input) 方法。相应地,可以创建一个验证器对象,然后使用 validate 方法验证一个字符串。此外,还可以组合验证器,以下示例将展示这一点。

<?php
use Drips\Validator\Validator;
use Drips\Validator\validators\Email;

$validator = new Validator;
$validator->add(new Email);

if(array_product($validator->validate("test@prowect.com"))){
    // Gültige Email-Adresse
} else {
    // Ungültige Email-Adresse
}

一般来说,单个验证器对象(例如:Email)会返回明确的 truefalse。但是,如果您从多个验证器(Validator)创建一个验证器,则会返回一个数组,其中包含作为 Key 的各个验证器以及作为 Value 的返回值。

在这种情况下,将返回 array("\Drips\Validator\Validators\Email" => true)

使用 array_product 函数将数组中的各个值相乘。如果在某个验证器处验证失败,并返回 false0),则将值相乘,并将结果返回为 0false)。

如果数组中的所有值都为 true1),则返回结果为 1true)。

验证器的类型

目前实现了以下验证器

请注意,每个验证器都有一个相应的 validate($input) 方法,可以传递一个要检查的输入。

各个验证器分别返回 truefalse 作为结果,并位于命名空间 \Drips\Validator\validators 中。

过滤

除了验证器外,还有过滤器。这些过滤器返回的不是 truefalse,而是 过滤后的文本

过滤器是一个实现了 IFilter 接口的对象,因此提供了一个 filter($input) 方法。相应地,可以创建一个过滤器对象,然后使用 filter 方法过滤一个字符串。此外,还可以组合过滤器,以下示例将展示这一点。

<?php
use Drips\Validator\Filter;
use Drips\Validator\filters\StripTags;

$filter = new Filter;
$filter->add(new StripTags);

$input = "<h1>HTML</h1>";
$output = $filter->filter($input);
// $output == "HTML"

使用 StripTags 过滤器将原始字符串 $input 中的 HTML 标签去除。

过滤器的类型

请注意,每个过滤器都有一个相应的 filter($input) 方法,可以传递一个要过滤的输入。

各个过滤器分别返回过滤后的文本作为结果,并位于命名空间 \Drips\Validator\filters 中。