phalcon/incubator-validation
Composer 安装命令:
composer require phalcon/incubator-validation
包简介
Phalcon Incubator Validation
README 文档
README
The reCAPTCHA Validator
Setup
Include Javascript API to your site:
<script async defer src="//www.google.com/recaptcha/api.js"></script>
Render reCAPTCHA in your form:
<form> <div class="g-recaptcha" data-sitekey="your_site_key"></div> </form>
Usage
use Phalcon\Forms\Element\Hidden; use Phalcon\Validation\Validator\ReCaptcha; $reCaptcha = new Hidden('g-recaptcha-response'); $reCaptcha->setLabel('reCAPTCHA')->addValidators( [ new ReCaptcha( [ 'message' => 'The captcha is not valid', 'secret' => 'your_site_key', ] ), ] ); $this->add($reCaptcha);
See also:
IpValidator
The IpValidator validates a valid ip address.
$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 }
// Validation succeeded without errors
NumericValidator
The default NumericValidator only allows for numeric (i.e. 0-9) characters. Minimum and maximum values can be specified.
Optionally, it can support float values, that is allowing a dot (.) character to separate decimals.
Optionally also signed numbers are supported.
$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
The AlphaNumericValidator allows for alphanumeric characters. Optionally, it can allow underscores and white spaces. Minimum and maximum string lengths can be specified.
$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 '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
The AlphaNamesValidator allows for alphabetic, menus, apostrophe, underscore and white space characters. Optionally, it can allow also numbers (i.t. 0-9). Minimum and maximum string lengths can be specified.
$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
The AlphaCompleteValidator allows for alphanumeric, underscore, white space, slash, apostrophe, round and square brackets/parentheses and punctuation characters. Optionally, it can allow also pipes (|), backslashes () and Url Characters (equals (=) and hashtags (#)). Minimum and maximum string lengths can be specified.
$data['text'] = $this->request->getPost('text'); $validation = new \Phalcon\Validation(); $validation->add( 'text', new \MicheleAngioni\PhalconValidators\AlphaCompleteValidator( [ 'allowBackslashes' => true, // Optional 'allowPipes' => 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
phalcon/incubator-validation 适用场景与选型建议
phalcon/incubator-validation 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 180.08k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2020 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「framework」 「validation」 「phalcon」 「incubator」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phalcon/incubator-validation 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phalcon/incubator-validation 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phalcon/incubator-validation 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
PHP Framework HLEB2 is the foundation of the web application. Provides ease of development and application performance.
Adds request-parameter validation to the SLIM 3.x PHP framework
Uniondrug Trace Client Component for uniondrug/framework
A jQuery augmented PHP library for creating and validating HTML forms
A Laravel validator for delimiter-separated list of emails.
A CakePHP behavior to validate foreign keys
统计信息
- 总下载量: 180.08k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2020-12-05