herroffizier/yii2-translit-validator

Yii2 验证器,用于转换模型属性值。

安装次数: 25,048

依赖项: 0

建议者: 0

安全性: 0

星星: 2

关注者: 1

分支: 0

类型:yii2-extension

1.0.0 2016-03-29 12:35 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:24:16 UTC


README

Build Status Scrutinizer Code Quality Code Coverage Code Climate

此验证器从一个属性获取值,并将其转写后的值放入另一个属性。此外,验证器还可以为在 URL 中使用准备转写后的字符串。转写使用 URLify 进行。

安装

使用 Composer 安装验证器

composer require --prefer-dist "herroffizier/yii2-translit-validator:@stable"

用法

在模型规则数组中将验证器添加到 required 验证器之前(如果有的话),并将其 sourceAttribute 属性设置为指向要转写的值所在的属性。

use herroffizier\yii2tv\TranslitValidator;

...

public function rules()
{
    return [
        [['attribute'], 'required'],
        [
            ['attribute_translit'], 
            TranslitValidator::className(), 
            'sourceAttribute' => 'attribute'
        ],
        [['attribute_translit'], 'required'],
    ];
}

验证器有几个选项来定制其行为。

  • 如上所述,sourceAttribute 指向要转写的源属性。默认为空且必须。
  • lowercase 强制转写后的字符串为小写。默认为 true
  • forUrl 将所有无效字符替换为 invalidReplacement 的值。默认为 true
  • invalidReplacement 是无效字符的替换值。与 forUrl 一起使用。默认为 -
  • invalidRegexp 是一个正则表达式,用于匹配所有不适用于 URL 的错误符号。与 forUrl 一起使用。默认为 /[^a-z0-9]+/i,它匹配所有非字母数字符号。
  • trimInvalid 在给定字符串的开始和结束处删除无效字符。与 forUrl 一起使用。默认为 false,这意味着不会删除任何字符。