huydang/phalcon-validation

PHP Phalcon 框架的高级验证器。

0.1 2018-10-06 16:51 UTC

This package is auto-updated.

Last update: 2024-09-25 08:40:04 UTC


README

License Build Status

简介

高级验证器为 Phalcon 框架添加了几个新的验证器。

安装

通过 composer 安装

composer require huydang/phalcon-validation

支持的验证器

最小值

正在验证的字段必须有一个最小值。对于字符串数据,值对应于字符数。对于数值数据,值对应于给定的整数值。对于数组,大小对应于数组的计数。

use \HuyDang\PhalconValidation\Validator\Min;

$validation = new Validation();
$validation->add('field',
    new Min([
        'min' => $min,
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

最大值

正在验证的字段必须小于或等于最大值。对于字符串数据,值对应于字符数。对于数值数据,值对应于给定的整数值。对于数组,大小对应于数组的计数。

use \HuyDang\PhalconValidation\Validator\Max;

$validation = new Validation();
$validation->add('field',
    new Max([
        'max' => $max,
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

AlphaDash

正在验证的字段可以包含字母数字字符,以及破折号和下划线。

use \HuyDang\PhalconValidation\Validator\AlphaDash;

$validation = new Validation();
$validation->add('field',
    new AlphaDash([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

包含

正在验证的字段必须包含在给定的值列表中。

use \HuyDang\PhalconValidation\Validator\In;

$validation = new Validation();
$validation->add('field',
    new In([
        'in' => [1, 2, 3],
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

不包含

正在验证的字段必须不包含在给定的值列表中。

use \HuyDang\PhalconValidation\Validator\NotIn;

$validation = new Validation();
$validation->add('field',
    new NotIn([
        'not_in' => [1, 2, 3],
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

IPv4

正在验证的字段必须是一个 IPv4 地址。

use \HuyDang\PhalconValidation\Validator\IpV4;

$validation = new Validation();
$validation->add('field',
    new IpV4([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

IPv6

正在验证的字段必须是一个 IPv6 地址。

use \HuyDang\PhalconValidation\Validator\IpV6;

$validation = new Validation();
$validation->add('field',
    new IpV6([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

JSON

正在验证的字段必须是一个有效的 JSON 字符串。

use \HuyDang\PhalconValidation\Validator\Json;

$validation = new Validation();
$validation->add('field',
    new Json([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

已填充

当字段存在时,正在验证的字段必须不为空。

use \HuyDang\PhalconValidation\Validator\Filled;

$validation = new Validation();
$validation->add('field',
    new Filled([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $field
]);

if ($messages->count() > 0) {
    // field is not passed
} else {
    // field is passed
}

时区

正在验证的字段必须是一个有效的时区标识符,根据 PHP 函数 timezone_identifiers_list

use \HuyDang\PhalconValidation\Validator\Timezone;

$validation = new Validation();
$validation->add('field',
    new Timezone([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'field' => $timezone
]);

if ($messages->count() > 0) {
    // invalid timezone
} else {
    // valid timezone
}

图片

正在验证的文件必须是一个图片。

use \HuyDang\PhalconValidation\Validator\Image;

$validation = new Validation();
$validation->add('file',
    new Image([
        'message' => 'Error message'
    ]));

$messages = $validation->validate([
    'file' => $file
]);

if ($messages->count() > 0) {
    // not an image
} else {
    // valid image
}