Beispiel #1
0
 /**
  * Process validation.
  *
  * @param string $validatorName $validatorName Zend validator name
  * @param mixed $input Input data to be validated
  * @param array $options Options to pass to validator
  * @throws iMSCP_Exception
  * @return bool bool TRUE if input data are valid, FALSE otherwise
  */
 protected function _processValidation($validatorName, $input, $options)
 {
     /** @var $validator Zend_Validate_Abstract */
     $validator = self::getZendValidator($validatorName);
     // Override validator default errors message if needed
     if (null != $this->_overrideMessagesFor) {
         if (isset($this->_messages[$this->_overrideMessagesFor])) {
             $defaultMessages = $validator->getMessageTemplates();
             $messages = $this->_messages[$this->_overrideMessagesFor];
             $validator->setMessages($messages);
         } else {
             throw new iMSCP_Exception(sprintf('Custom error messages for the %s validation method are not defined.', __CLASS__ . '::' . $this->_overrideMessagesFor));
         }
     }
     // Getting validator default options
     $defaultOptions = $validator->getOptions();
     // Setup validator options
     $validator->setOptions((array) $options);
     // Process validation
     if (!($retVal = $validator->isValid($input))) {
         $this->_lastValidationErrorMessages = array_merge($this->_lastValidationErrorMessages, $this->_lastValidator->getMessages());
     }
     // Reset default options on validator
     $validator->setOptions($defaultOptions);
     if (isset($defaultMessages)) {
         $validator->setMessages($defaultMessages);
         $this->_overrideMessagesFor = null;
     }
     return $retVal;
 }
 public function getMessages()
 {
     if (isset($this->_validator)) {
         return $this->_validator->getMessages();
     }
     return array();
 }