本文整理汇总了PHP中Zend_Validate_Abstract::hasDefaultTranslator方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Validate_Abstract::hasDefaultTranslator方法的具体用法?PHP Zend_Validate_Abstract::hasDefaultTranslator怎么用?PHP Zend_Validate_Abstract::hasDefaultTranslator使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Validate_Abstract
的用法示例。
在下文中一共展示了Zend_Validate_Abstract::hasDefaultTranslator方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isValid
/**
* Validate element value
*
* If a translation adapter is registered, any error messages will be
* translated according to the current locale, using the given error code;
* if no matching translation is found, the original message will be
* utilized.
*
* Note: The *filtered* value is validated.
*
* @param mixed $value
* @param mixed $context
* @return boolean
*/
public function isValid($value, $context = null)
{
$this->setValue($value);
$value = $this->getValue();
if (('' === $value || null === $value) && !$this->isRequired() && $this->getAllowEmpty()) {
return true;
}
if ($this->isRequired() && $this->autoInsertNotEmptyValidator() && !$this->getValidator('NotEmpty')) {
$validators = $this->getValidators();
$notEmpty = array('validator' => 'NotEmpty', 'breakChainOnFailure' => true);
array_unshift($validators, $notEmpty);
$this->setValidators($validators);
}
// Find the correct translator. Zend_Validate_Abstract::getDefaultTranslator()
// will get either the static translator attached to Zend_Validate_Abstract
// or the 'Zend_Translate' from Zend_Registry.
if (Zend_Validate_Abstract::hasDefaultTranslator() && !Zend_Form::hasDefaultTranslator()) {
$translator = Zend_Validate_Abstract::getDefaultTranslator();
if ($this->hasTranslator()) {
// only pick up this element's translator if it was attached directly.
$translator = $this->getTranslator();
}
} else {
$translator = $this->getTranslator();
}
$this->_messages = array();
$this->_errors = array();
$result = true;
$isArray = $this->isArray();
foreach ($this->getValidators() as $key => $validator) {
if (method_exists($validator, 'setTranslator')) {
if (method_exists($validator, 'hasTranslator')) {
if (!$validator->hasTranslator()) {
$validator->setTranslator($translator);
}
} else {
$validator->setTranslator($translator);
}
}
if (method_exists($validator, 'setDisableTranslator')) {
$validator->setDisableTranslator($this->translatorIsDisabled());
}
if ($isArray && is_array($value)) {
$messages = array();
$errors = array();
if (empty($value)) {
if ($this->isRequired() || !$this->isRequired() && !$this->getAllowEmpty()) {
$value = '';
}
}
foreach ((array) $value as $val) {
if (!$validator->isValid($val, $context)) {
$result = false;
if ($this->_hasErrorMessages()) {
$messages = $this->_getErrorMessages();
$errors = $messages;
} else {
$messages = array_merge($messages, $validator->getMessages());
$errors = array_merge($errors, $validator->getErrors());
}
}
}
if ($result) {
continue;
}
} elseif ($validator->isValid($value, $context)) {
continue;
} else {
$result = false;
if ($this->_hasErrorMessages()) {
$messages = $this->_getErrorMessages();
$errors = $messages;
} else {
$messages = $validator->getMessages();
$errors = array_keys($messages);
}
}
$result = false;
$this->_messages = array_merge($this->_messages, $messages);
$this->_errors = array_merge($this->_errors, $errors);
if ($validator->zfBreakChainOnFailure) {
break;
}
}
// If element manually flagged as invalid, return false
if ($this->_isErrorForced) {
//.........这里部分代码省略.........
示例2: getZendValidator
/**
* Returns instance of a specific Zend validator.
*
* @param string $validatorName Zend validator name
* @param array $options Options to pass to the validator OPTIONAL
* @return Zend_Validate_Abstract
*/
public function getZendValidator($validatorName, $options = array())
{
if (!array_key_exists($validatorName, $this->_validators)) {
$validator = 'Zend_Validate_' . $validatorName;
$this->_validators[$validatorName] = new $validator($options);
if (empty($this->_validators) && !Zend_Validate_Abstract::hasDefaultTranslator()) {
self::setDefaultTranslator();
}
}
$this->_lastValidator = $this->_validators[$validatorName];
return $this->_validators[$validatorName];
}