/** * 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(); }