cetver / yii2-validation-filters

Yii框架2.0的验证过滤器

安装次数: 1,259

依赖项: 0

建议者: 0

安全: 0

星级: 6

关注者: 2

分支: 0

开放问题: 11

类型:yii2-extension


README

本扩展为Yii框架2.0提供了验证过滤器。

有关许可证信息,请查看LICENSE文件。

Build Status Coverage Status

安装

安装此扩展的首选方法是使用composer

运行以下命令:

composer require --prefer-dist cetver/yii2-validation-filters

"cetver/yii2-validation-filters": "~1.0.0"

将以下内容添加到您的composer.json文件的require部分:

使用方法

可用的验证过滤器

trim

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\TrimValidator::className(),
            'characterMask' => ' ' // optional, default value is " \t\n\r\0\x0B"
        ],
    ];
}

ltrim

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\LeftTrimValidator::className(),
            'characterMask' => ' ' // optional, default value is " \t\n\r\0\x0B"
        ],
    ];
}

rtrim

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\RightTrimValidator::className(),
            'characterMask' => ' ' // optional, default value is " \t\n\r\0\x0B"
        ],
    ];
}

ucfirst

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteUpperCharacterFirstValidator::className(),
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

lcfirst

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteLowerCharacterFirstValidator::className(),
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

strtoupper

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteConvertCaseValidator::className(),
            'mode' => MB_CASE_UPPER,
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

strtolower

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteConvertCaseValidator::className(),
            'mode' => MB_CASE_LOWER,
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

ucwords

public function rules()
{
    /**
    * NOTE:
    * ucwords('HELLO WORLD'); // HELLO WORLD
    * mb_convert_case('HELLO WORLD', MB_CASE_TITLE); // Hello World
    */
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteConvertCaseValidator::className(),
            'mode' => MB_CASE_TITLE,
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

mb_convert_case

public function rules()
{
    return [
        [
            'attribute',
            \cetver\ValidationFilters\validators\MultibyteConvertCaseValidator::className(),
            /**
             * MB_CASE_UPPER - converts the attribute value uppercase.
             * MB_CASE_LOWER - converts the attribute value lowercase.
             * MB_CASE_TITLE - converts the first character of each word of the attribute value capitalized.
             */
            'mode' => MB_CASE_UPPER,
            'encoding' => 'UTF-8' // optional, default value is mb_internal_encoding()
        ],
    ];
}

测试

composer create-project --prefer-source cetver/yii2-validation-filters

PHP

cd yii2-validation-filters
php vendor/bin/codecept run --config tests/php/codeception.yml unit

JavaScript

在浏览器中打开 yii2-validation-filters/tests/js/index.html

cd yii2-validation-filters
npm install
npm run build
npm run test

致谢

使用JavaScript编写的PHP函数 locutus.

以node.js的方式在浏览器端require() browserify.