[TASK] Re-work/simplify copyright header in PHP files - Part 8
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Validation / Validator / RegularExpressionValidator.php
1 <?php
2 namespace TYPO3\CMS\Extbase\Validation\Validator;
3
4 /**
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Validator based on regular expressions.
19 *
20 * @api
21 */
22 class RegularExpressionValidator extends AbstractValidator {
23
24
25 /**
26 * @var array
27 */
28 protected $supportedOptions = array(
29 'regularExpression' => array('', 'The regular expression to use for validation, used as given', 'string', TRUE)
30 );
31
32 /**
33 * Checks if the given value matches the specified regular expression.
34 *
35 * @param mixed $value The value that should be validated
36 * @return void
37 * @throws \TYPO3\CMS\Extbase\Validation\Exception\InvalidValidationOptionsException
38 * @api
39 */
40 public function isValid($value) {
41 $result = preg_match($this->options['regularExpression'], $value);
42 if ($result === 0) {
43 $this->addError(
44 $this->translateErrorMessage(
45 'validator.regularexpression.nomatch',
46 'extbase'
47 ), 1221565130);
48 }
49 if ($result === FALSE) {
50 throw new \TYPO3\CMS\Extbase\Validation\Exception\InvalidValidationOptionsException('regularExpression "' . $this->options['regularExpression'] . '" in RegularExpressionValidator contained an error.', 1298273089);
51 }
52 }
53 }