phalcon / incubator-validation
Phalcon Incubator Validation
v2.1.0
2023-05-28 21:45 UTC
Requires
- php: >=7.2
- ext-curl: *
- ext-json: *
- ext-phalcon: ^4.0
Requires (Dev)
- codeception/codeception: ^4.1
- codeception/module-asserts: ^1.0.0
- codeception/module-filesystem: ^1.0
- codeception/module-phalcon4: ^1.0.3
- phalcon/ide-stubs: ^4.0
- phpstan/phpstan: ^0.12.18
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^4.1
- vlucas/phpdotenv: ^2.5
This package is auto-updated.
Last update: 2024-08-29 00:38:54 UTC
README
reCAPTCHA 验证器
设置
将 JavaScript API 包含到您的网站上
<script async defer src="//www.google.com/recaptcha/api.js"></script>
在您的表单中渲染 reCAPTCHA
<form> <div class="g-recaptcha" data-sitekey="your_site_key"></div> </form>
使用方法
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);
另请参阅
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 '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 允许字母数字、下划线、空格、斜杠、撇号、圆括号/括号和标点符号字符。可选,它还可以允许管道符(|)、反斜杠(\)和 URL 字符(等号 (=) 和井号 (#))。可以指定最小和最大字符串长度。
$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