‪TYPO3CMS  11.5
RegularExpressionValidator.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
19 
24 {
28  protected ‪$supportedOptions = [
29  'regularExpression' => ['', 'The regular expression to use for validation, used as given', 'string', true],
30  'errorMessage' => ['', 'Error Message to show when validation fails', 'string', false],
31  ];
32 
39  public function ‪isValid($value)
40  {
41  ‪$result = preg_match($this->options['regularExpression'], $value);
42  if (‪$result === 0) {
43  $errorMessage = $this->‪getErrorMessage();
44  $this->‪addError(
45  $errorMessage,
46  1221565130
47  );
48  }
49  if (‪$result === false) {
50  throw new ‪InvalidValidationOptionsException('regularExpression "' . $this->options['regularExpression'] . '" in RegularExpressionValidator contained an error.', 1298273089);
51  }
52  }
53 
54  protected function ‪getErrorMessage(): string
55  {
56  $errorMessage = (string)($this->options['errorMessage'] ?? '');
57  // if custom message is no locallang reference
58  if ($errorMessage !== '' && strpos($errorMessage, 'LLL') !== 0) {
59  return $errorMessage;
60  }
61  if ($errorMessage === '') {
62  // fallback to default message
63  $errorMessage = 'validator.regularexpression.nomatch';
64  }
65  return $this->‪translateErrorMessage(
66  $errorMessage,
67  'extbase'
68  );
69  }
70 }
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator
Definition: AbstractValidator.php:27
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\$result
‪TYPO3 CMS Extbase Error Result $result
Definition: AbstractValidator.php:50
‪TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator
Definition: RegularExpressionValidator.php:24
‪TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator\isValid
‪isValid($value)
Definition: RegularExpressionValidator.php:38
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\translateErrorMessage
‪string translateErrorMessage($translateKey, $extensionName, $arguments=[])
Definition: AbstractValidator.php:145
‪TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator\$supportedOptions
‪array $supportedOptions
Definition: RegularExpressionValidator.php:27
‪TYPO3\CMS\Extbase\Validation\Validator\RegularExpressionValidator\getErrorMessage
‪getErrorMessage()
Definition: RegularExpressionValidator.php:53
‪TYPO3\CMS\Extbase\Validation\Validator
Definition: AbstractCompositeValidator.php:16
‪TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator\addError
‪addError($message, $code, array $arguments=[], $title='')
Definition: AbstractValidator.php:96
‪TYPO3\CMS\Extbase\Validation\Exception\InvalidValidationOptionsException
Definition: InvalidValidationOptionsException.php:25