michele-angioni / phalcon-validators
为 PHP Phalcon 框架提供新的高级验证器。
Requires
- php: >=7.1
- ext-phalcon: >=3.1.2
Requires (Dev)
- phalcon/incubator: dev-master
- phpunit/phpunit: ^5.7
README
简介
Phalcon Validators 为 Phalcon 中的少量默认验证器添加了几个新的验证器。
需要 PHP 7.1+ 和 Phalcon 3.1。
安装
可以通过 Composer 安装支持,只需在您的 composer.json 中包含 "michele-angioni/phalcon-validators": "~2.0"
,然后运行 composer update
或 composer 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 许可证条款下免费软件。