Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Validator/ValidatorManager.php
Строк: 75
<?php
namespace ConcreteCoreValidator;

class 
ValidatorManager implements ValidatorManagerInterface
{

    
/** @type ValidatorInterface[] */
    
protected $validators = array();

    
/**
     * Get the validator requirements in the form of an array keyed by it's respective error code
     *
     * Example:
     *    [ self::E_TOO_SHORT => 'Must be at least 10 characters' ]
     *
     * @return string[]
     */
    
public function getRequirementStrings()
    {
        
$strings = array();
        foreach (
$this->getValidators() as $validator) {
            
$validator_strings $validator->getRequirementStrings();
            
$strings array_merge($strings$validator_strings);
        }

        return 
$strings;
    }

    
/**
     * Get a list of all validators
     *
     * @return ValidatorInterface[] Array of validators keyed by their handles
     */
    
public function getValidators()
    {
        return 
$this->validators;
    }

    
/**
     * Does a validator with this handle exist
     *
     * @param string $handle
     * @return bool
     */
    
public function hasValidator($handle)
    {
        return isset(
$this->validators[$handle]);
    }

    
/**
     * Add a validator to the stack.
     * Validators are unique by handle, so adding a validator with the same handle as a validator in the stack
     * replaces the old validator with the new one.
     *
     * @param string $handle
     * @param ConcreteCoreValidatorValidatorInterface $validator
     * @return void
     */
    
public function setValidator($handleValidatorInterface $validator null)
    {
        
$this->validators[$handle] = $validator;
    }

    
/**
     * Is this mixed value valid based on the added validators
     *
     * @param mixed             $mixed Can be any value
     * @param ArrayAccess|null $error The error object that will contain the error strings
     * @return bool
     * @throws InvalidArgumentException Invalid mixed value type passed.
     */
    
public function isValid($mixedArrayAccess $error null)
    {
        
$valid true;
        foreach (
$this->getValidators() as $validator) {
            if (!
$validator->isValid($mixed$error)) {
                
$valid false;
            }
        }

        return 
$valid;
    }

}
Онлайн: 2
Реклама