‪TYPO3CMS  ‪main
CountValidator.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 /*
19  * Inspired by and partially taken from the Neos.Form package (www.neos.io)
20  */
21 
23 
25 
33 {
37  protected ‪$supportedOptions = [
38  'minimum' => [0, 'The minimum count to accept', 'integer'],
39  'maximum' => [PHP_INT_MAX, 'The maximum count to accept', 'integer'],
40  ];
41 
45  public function ‪isValid(mixed $value): void
46  {
47  if (!is_array($value) && !($value instanceof \Countable)) {
48  $this->‪addError(
50  'validation.error.1475002976',
51  'form'
52  ),
53  1475002976
54  );
55  return;
56  }
57 
58  $minimum = (int)$this->options['minimum'];
59  $maximum = (int)$this->options['maximum'];
60  if (count($value) < $minimum || count($value) > $maximum) {
61  $this->‪addError(
63  'validation.error.1475002994',
64  'form',
65  [$minimum, $maximum]
66  ),
67  1475002994,
68  [$this->options['minimum'], $this->options['maximum']]
69  );
70  }
71  }
72 }
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator
Definition: AbstractValidator.php:29
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\addError
‪addError(string $message, int $code, array $arguments=[], string $title='')
Definition: AbstractValidator.php:82
‪TYPO3\CMS\Form\Mvc\Validation\CountValidator
Definition: CountValidator.php:33
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\translateErrorMessage
‪translateErrorMessage(string $translateKey, string $extensionName, array $arguments=[])
Definition: AbstractValidator.php:122
‪TYPO3\CMS\Form\Mvc\Validation\CountValidator\$supportedOptions
‪array $supportedOptions
Definition: CountValidator.php:36
‪TYPO3\CMS\Form\Mvc\Validation
Definition: CountValidator.php:22
‪TYPO3\CMS\Form\Mvc\Validation\CountValidator\isValid
‪isValid(mixed $value)
Definition: CountValidator.php:44