|
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 /** 00030 * Validator to chain many validators in a disjunction (logical or). So only one 00031 * validator has to be valid, to make the whole disjunction valid. Errors are 00032 * only returned if all validators failed. 00033 * 00034 * @package Extbase 00035 * @subpackage Validation\Validator 00036 * @version $Id: DisjunctionValidator.php 1729 2009-11-25 21:37:20Z stucki $ 00037 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later 00038 * @scope prototype 00039 */ 00040 class Tx_Extbase_Validation_Validator_DisjunctionValidator extends Tx_Extbase_Validation_Validator_AbstractCompositeValidator { 00041 /** 00042 * Checks if the given value is valid according to the validators of the conjunction. 00043 * 00044 * If at least one error occurred, the result is FALSE. 00045 * 00046 * @param mixed $value The value that should be validated 00047 * @return boolean TRUE if the value is valid, FALSE if an error occured 00048 */ 00049 public function isValid($value) { 00050 $result = FALSE; 00051 foreach ($this->validators as $validator) { 00052 if ($validator->isValid($value) === FALSE) { 00053 $this->errors = array_merge($this->errors, $validator->getErrors()); 00054 } else { 00055 $result = TRUE; 00056 } 00057 } 00058 if ($result === TRUE) { 00059 $this->errors = array(); 00060 } 00061 return $result; 00062 } 00063 } 00064 00065 ?>
1.8.0