yiiviet / yii2-validator
支持国内特定数据验证器。
Requires
- php: >=5.5
- kdn/yii2-domain-validator: *
- yiisoft/yii2: ~2.0.7
README
我们已停止开发此扩展,请使用https://github.com/phpviet/yii-validation进行替代。
Yii2 扩展帮助您检查我国特定数据。
当您在国内构建系统时,确保构建用于检查特定数据(如:电话号码、身份证、越南IP、越南域名等)的 validator
将会频繁发生。因此,此扩展被构建出来以提供我国最常用的基本数据 validator
。
当前支持的类型
- 电话号码包括移动电话和固定电话。
- 身份证和户口簿。
- 越南IP
- 越南域名
安装
通过 composer
安装,如果您对此概念不熟悉,请点击此处了解。
composer require "yiiviet/yii2-validator"
或者
"yiiviet/yii2-validator": "*"
将以下内容添加到 composer.json 文件的 require
部分。
基本用法
在用法上,您可以在 model
、AR
的 rules
中声明它,就像 yii2
的纯 validator
一样。
示例
class Info extends Model { public function rules() { return [ ['IP', 'ipvn'], ['SDT', 'telnumvn'], ['CMND', 'idnumvn'], ['domain', 'domainvn'] ]; } }
以下是各种 validator
的说明表
Validator | 注释 | 用法 |
---|---|---|
telnumvn | 用于检查越南电话号码(viettel, vina, vsat, beeline, mobi, vietnammobi, 固定电话...) | 点击此处 |
idnumvn | 用于检查身份证和户口簿(9位身份证,12位身份证,户口簿) | 点击此处 |
ipvn | 用于检查越南IP | 点击此处 |
domainvn | 用于检查越南域名(有效的域名且以 .vn 结尾) |
点击此处 |
telnumvn
声明 rules
return [ ['SDT', 'telnumvn', 'message' => '{attribute} không phải là số điện thoại Việt Nam'], ];
只想检查移动号码,排除固定电话
return [ ['SDT', 'telnumvn', 'exceptTelco' => ['landLine']], ];
只想检查 viettel
return [ ['SDT', 'telnumvn', 'onlyTelco' => ['viettel']], ];
只想检查 viettel
、mobi
、vina
return [ ['SDT', 'telnumvn', 'onlyTelco' => ['viettel', 'mobiFone', 'vinaPhone']], ];
各个电信公司(运营商)的名称列表
电信公司 | 代表 |
---|---|
landLine | 固定电话 |
viettel | Viettel |
vinaPhone | Vinaphone |
mobiFone | Mobifone |
vietNamMobile | Viet Nam Mobile |
gMobile | G Mobile |
indoChina | IndoChina |
idnumvn
声明 rules
return [ ['CMND', 'idnumvn', 'message' => '{attribute} không phải là chứng minh thư Việt Nam'], ];
只想检查身份证(9位和12位),排除户口簿
return [ ['SDT', 'telnumvn', 'onlyId' => true], ];
ipvn
声明 rules
return [ ['IP', 'ipvn', 'message' => '{attribute} phải là IP Việt Nam!'], ];
由于此 validator
继承自 Yii2
的 IpValidator
,因此您可以在 此处查看所有高级设置参数,如果不使用高级设置,只需声明如下即可。
domainvn
声明 rules
return [ ['domain', 'domainvn', 'message' => '{attribute} phải là tên miền Việt Nam!'], ];
此 validator
继承自 Dmitry Kulikov
的 DomainValidator
,因此您可以在这里查看所有高级参数的设置,如果没有特殊需求,按照上面的声明即可。
针对开发者
如果您觉得上述的 validators
对于国内市场来说还不够用,并且希望为共同的发展做出贡献,我们非常欢迎!请创建 issue
来提出您对下一个版本的创意,或者创建 PR
来补充缺失的 validator
。感谢您的贡献!