当前位置: 首页>>代码示例>>PHP>>正文


PHP Zend_Validate_Abstract::hasDefaultTranslator方法代码示例

本文整理汇总了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) {
//.........这里部分代码省略.........
开发者ID:beesheer,项目名称:freehdfootage,代码行数:101,代码来源:Element.php

示例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];
 }
开发者ID:svenjantzen,项目名称:imscp,代码行数:19,代码来源:Validate.php


注:本文中的Zend_Validate_Abstract::hasDefaultTranslator方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。