项目作者: phalcon

项目描述 :
Extra Phalcon Validator Adapters.
高级语言: PHP
项目地址: git://github.com/phalcon/incubator-validation.git
创建时间: 2020-04-03T22:38:07Z
项目社区:https://github.com/phalcon/incubator-validation

开源协议:BSD 3-Clause "New" or "Revised" License

下载


Phalcon\Incubator\Validation

Discord
Packagist Version
PHP from Packagist
codecov
Packagist

The reCAPTCHA Validator

Setup

Include Javascript API to your site:

  1. <script async defer src="//www.google.com/recaptcha/api.js"></script>

Render reCAPTCHA in your form:

  1. <form>
  2. <div class="g-recaptcha" data-sitekey="your_site_key"></div>
  3. </form>

Usage

  1. use Phalcon\Forms\Element\Hidden;
  2. use Phalcon\Validation\Validator\ReCaptcha;
  3. $reCaptcha = new Hidden('g-recaptcha-response');
  4. $reCaptcha->setLabel('reCAPTCHA')->addValidators(
  5. [
  6. new ReCaptcha(
  7. [
  8. 'message' => 'The captcha is not valid',
  9. 'secret' => 'your_site_key',
  10. ]
  11. ),
  12. ]
  13. );
  14. $this->add($reCaptcha);

See also:

IpValidator

The IpValidator validates a valid ip address.

  1. $data['ip'] = $this->request->getPost('ip');
  2. $validation = new \Phalcon\Validation();
  3. $validation->add(
  4. 'ip',
  5. new \MicheleAngioni\PhalconValidators\IpValidator(
  6. [
  7. 'message' => 'The IP is not valid.', // Optional
  8. ]
  9. )
  10. );
  11. $messages = $validation->validate($data);
  12. if (count($messages)) {
  13. // Some error occurred, handle messages
  14. }

// 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.

  1. $data['number'] = $this->request->getPost('number');
  2. $validation = new \Phalcon\Validation();
  3. $validation->add(
  4. 'number',
  5. new \MicheleAngioni\PhalconValidators\NumericValidator(
  6. [
  7. 'allowFloat' => true, // Optional, default: false
  8. 'allowSign' => true, // Optional, default: false
  9. 'min' => 2, // Optional
  10. 'min' => 2, // Optional
  11. 'max' => 50, // Optional
  12. 'message' => 'Only numeric (0-9,.) characters are allowed.', // Optional
  13. 'messageMinimum' => 'The value must be at least 2', // Optional
  14. 'messageMaximum' => 'The value must be lower than 50', // Optional
  15. ]
  16. )
  17. );
  18. $messages = $validation->validate($data);
  19. if (count($messages)) {
  20. // Some error occurred, handle messages
  21. }
  22. // 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.

  1. $data['text'] = $this->request->getPost('text');
  2. $validation = new \Phalcon\Validation();
  3. $validation->add(
  4. 'text',
  5. new \MicheleAngioni\PhalconValidators\AlphaNumericValidator(
  6. [
  7. 'whiteSpace' => true, // Optional, default false
  8. 'underscore' => true, // Optional, default false
  9. 'min' => 6, // Optional
  10. 'max' => 30, // Optional
  11. 'message' => 'Validation failed.', // Optional
  12. 'messageMinimum' => 'The value must contain at least 6 characters.', // Optional
  13. 'messageMaximum' => 'The value can contain maximum 30 characters.', // Optional
  14. ]
  15. )
  16. );
  17. $messages = $validation->validate($data);
  18. if (count($messages)) {
  19. // Some error occurred, handle messages
  20. }
  21. // 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.

  1. $data['text'] = $this->request->getPost('text');
  2. $validation = new \Phalcon\Validation();
  3. $validation->add(
  4. 'text',
  5. new \MicheleAngioni\PhalconValidators\AlphaNamesValidator(
  6. [
  7. 'numbers' => true, // Optional, default false
  8. 'min' => 6, // Optional
  9. 'max' => 30, // Optional
  10. 'message' => 'Validation failed.', // Optional
  11. 'messageMinimum' => 'The value must contain at least 6 characters.', // Optional
  12. 'messageMaximum' => 'The value can contain maximum 30 characters.', // Optional
  13. ]
  14. )
  15. );
  16. $messages = $validation->validate($data);
  17. if (count($messages)) {
  18. // Some error occurred, handle messages
  19. }
  20. // 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.

  1. $data['text'] = $this->request->getPost('text');
  2. $validation = new \Phalcon\Validation();
  3. $validation->add(
  4. 'text',
  5. new \MicheleAngioni\PhalconValidators\AlphaCompleteValidator(
  6. [
  7. 'allowBackslashes' => true, // Optional
  8. 'allowPipes' => true, // Optional
  9. 'allowUrlChars' => true, // Optional
  10. 'min' => 6, // Optional
  11. 'max' => 30, // Optional
  12. 'message' => 'Validation failed.', // Optional
  13. 'messageMinimum' => 'The value must contain at least 6 characters.', // Optional
  14. 'messageMaximum' => 'The value can contain maximum 30 characters.', // Optional
  15. ]
  16. )
  17. );
  18. $messages = $validation->validate($data);
  19. if (count($messages)) {
  20. // Some error occurred, handle messages
  21. }
  22. // Validation succeeded without errors