cetver/yii2-validation-filters

Validation filters for the Yii framework 2.0

Installs: 1 092

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 2

Forks: 0

Open Issues: 11

Type:yii2-extension


README

This extension provides a validation filters for the Yii framework 2.0.

For license information check the LICENSE-file.

Build Status Coverage Status

Installation

The preferred way to install this extension is through composer.

Either run

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

or add

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

to the require section of your composer.json file.

Usage

Available validation filters:

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()
        ],
    ];
}

Tests

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

Open in browser yii2-validation-filters/tests/js/index.html

or

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

Credits

PHP functions written in JavaScript locutus.

Browser-side require() the node.js way browserify.