|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2009 Jochen Rau <jochen.rau@typoplanet.de> 00006 * All rights reserved 00007 * 00008 * This class is a backport of the corresponding class of FLOW3. 00009 * All credits go to the v5 team. 00010 * 00011 * This script is part of the TYPO3 project. The TYPO3 project is 00012 * free software; you can redistribute it and/or modify 00013 * it under the terms of the GNU General Public License as published by 00014 * the Free Software Foundation; either version 2 of the License, or 00015 * (at your option) any later version. 00016 * 00017 * The GNU General Public License can be found at 00018 * http://www.gnu.org/copyleft/gpl.html. 00019 * 00020 * This script is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * This copyright notice MUST APPEAR in all copies of the script! 00026 ***************************************************************/ 00027 00028 /** 00029 * Validator based on regular expressions 00030 * 00031 * The regular expression is specified in the options by using the array key "regularExpression" 00032 * 00033 * @package Extbase 00034 * @subpackage Validation\Validator 00035 * @version $Id: RegularExpressionValidator.php 1789 2010-01-18 21:31:59Z jocrau $ 00036 * @scope prototype 00037 */ 00038 class Tx_Extbase_Validation_Validator_RegularExpressionValidator extends Tx_Extbase_Validation_Validator_AbstractValidator { 00039 00040 /** 00041 * Returns TRUE, if the given property ($value) matches the given regular expression. 00042 * 00043 * If at least one error occurred, the result is FALSE. 00044 * 00045 * @param mixed $value The value that should be validated 00046 * @return boolean TRUE if the value is valid, FALSE if an error occured 00047 */ 00048 public function isValid($value) { 00049 $this->errors = array(); 00050 if (!isset($this->options['regularExpression'])) { 00051 $this->addError('The regular expression was empty.', 1221565132); 00052 return FALSE; 00053 } 00054 $result = preg_match($this->options['regularExpression'], $value); 00055 if ($result === 0) { 00056 $this->addError('The given subject did not match the pattern.', 1221565130); 00057 return FALSE; 00058 } 00059 if ($result === FALSE) { 00060 $this->addError('The regular expression "' . $this->options['regularExpression'] . '" contained an error.', 1221565131); 00061 return FALSE; 00062 } 00063 return TRUE; 00064 } 00065 } 00066 00067 ?>
1.8.0