michele-angioni/phalcon-validators

为 PHP Phalcon 框架提供新的高级验证器。

v2.0.1 2018-01-02 09:05 UTC

This package is auto-updated.

Last update: 2024-08-29 04:19:55 UTC


README

License Latest Stable Version Latest Unstable Version Build Status

简介

Phalcon Validators 为 Phalcon 中的少量默认验证器添加了几个新的验证器。

需要 PHP 7.1+ 和 Phalcon 3.1。

安装

可以通过 Composer 安装支持,只需在您的 composer.json 中包含 "michele-angioni/phalcon-validators": "~2.0",然后运行 composer updatecomposer install

使用方法

新验证器与默认验证器的工作方式相同。只需将新实例的验证器传递给 Phalcon 的 Validation 类,并带上所需的选项,然后进行验证。

可用验证器及其实际示例

IpValidator

IpValidator 验证有效的 IP 地址。

$data['ip'] = $this->request->getPost('ip');

$validation = new Phalcon\Validation();

$validation->add(
    'ip',
    new MicheleAngioni\PhalconValidators\IpValidator (
        [
            'message' => 'The IP is not valid.'       // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages
    
}

// 验证成功,没有错误

NumericValidator

默认的 NumericValidator 只允许数字(即 0-9)字符。可以指定最小和最大值。

可选地,它支持浮点值,即允许点号(.)字符分隔小数。

可选地也支持有符号数字。

$data['number'] = $this->request->getPost('number');

$validation = new Phalcon\Validation();

$validation->add(
    'number',
    new MicheleAngioni\PhalconValidators\NumericValidator (
        [
            'allowFloat' => true,                                           // Optional, default: false
            'allowSign' => true,                                            // Optional, default: false
            'min' => 2,                                                     // Optional
            'min' => 2,                                                     // Optional
            'max' => 50,                                                    // Optional
            'message' => 'Only numeric (0-9,.) characters are allowed.',    // Optional
            'messageMinimum' => 'The value must be at least 2',             // Optional
            'messageMaximum' => 'The value must be lower than 50'           // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages
    
}

// Validation succeeded without errors

AlphaNumericValidator

AlphaNumericValidator 允许字母数字字符。可选地,它允许下划线、减号和空格。可以指定最小和最大字符串长度。

$data['text'] = $this->request->getPost('text');

$validation = new Phalcon\Validation();

$validation->add(
    'text',
    new MicheleAngioni\PhalconValidators\AlphaNumericValidator (
        [
            'whiteSpace' => true,                                                       // Optional, default false
            'underscore' => true,                                                       // Optional, default false
            'minus' => true,                                                            // Optional, default false
            'min' => 6,                                                                 // Optional
            'max' => 30,                                                                // Optional     
            'message' => 'Validation failed.',                                          // Optional
            'messageMinimum' => 'The value must contain at least 6 characters.',        // Optional
            'messageMaximum' => 'The value can contain maximum 30 characters.'          // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages
    
}

// Validation succeeded without errors

AlphaNamesValidator

AlphaNamesValidator 允许字母、逗号、撇号、下划线和空格字符。可选地,它也可以允许数字(即 0-9)。可以指定最小和最大字符串长度。

$data['text'] = $this->request->getPost('text');

$validation = new Phalcon\Validation();

$validation->add(
    'text',
    new MicheleAngioni\PhalconValidators\AlphaNamesValidator (
        [
            'numbers' => true,                                                          // Optional, default false
            'min' => 6,                                                                 // Optional
            'max' => 30,                                                                // Optional     
            'message' => 'Validation failed.',                                          // Optional
            'messageMinimum' => 'The value must contain at least 6 characters.',        // Optional
            'messageMaximum' => 'The value can contain maximum 30 characters.'          // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages
    
}

// Validation succeeded without errors

AlphaCompleteValidator

AlphaCompleteValidator 允许字母数字、下划线、空格、斜杠、撇号、圆括号/方括号和标点符号字符。可选地,它也可以允许管道(|)、ATs(@)、反斜杠(\)、百分号(%)和 URL 字符(等号(=)和井号(#))。可以指定最小和最大字符串长度。

$data['text'] = $this->request->getPost('text');

$validation = new Phalcon\Validation();

$validation->add(
    'text',
    new MicheleAngioni\PhalconValidators\AlphaCompleteValidator (
        [
            'allowBackslashes' => true,                                                 // Optional
            'allowAt' => true,                                                          // Optional
            'allowPipes' => true,                                                       // Optional
            'allowPercentages' => true,                                                 // Optional
            'allowUrlChars' => true,                                                    // Optional
            'min' => 6,                                                                 // Optional
            'max' => 30,                                                                // Optional     
            'message' => 'Validation failed.',                                          // Optional
            'messageMinimum' => 'The value must contain at least 6 characters.',        // Optional
            'messageMaximum' => 'The value can contain maximum 30 characters.'          // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages
    
}

// Validation succeeded without errors

FileNameValidator

FileNameValidator 允许带有扩展名的有效文件名,允许简单的字母、数字下划线和减号。可选地,它也可以允许所有拉丁字母、多个点号和空格。可以指定最小和最大字符串长度。

$data['text'] = $this->request->getPost('text');

$validation = new Phalcon\Validation();

$validation->add(
    'text',
    new MicheleAngioni\PhalconValidators\FileNameValidator (
        [
            'allowMultipleDots' => true,                                                // Optional
            'allowAllLatin' => true,                                                    // Optional
            'allowSpaces' => true,                                                      // Optional
            'min' => 6,                                                                 // Optional
            'max' => 30,                                                                // Optional
            'message' => 'Validation failed.',                                          // Optional
            'messageMinimum' => 'The value must contain at least 6 characters.',        // Optional
            'messageMaximum' => 'The value can contain maximum 30 characters.'          // Optional
        ]
    )
);

$messages = $validation->validate($data);

if (count($messages)) {
    // Some error occurred, handle messages

}

// Validation succeeded without errors

贡献指南

Phalcon Validators 遵循 PSR-1、PSR-2 和 PSR-4 PHP 编码标准,以及语义版本控制。

欢迎拉取请求。

许可证

Phalcon Validators 是在 MIT 许可证条款下免费软件。