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


PHP DateTime::validate方法代码示例

本文整理汇总了PHP中DateTime::validate方法的典型用法代码示例。如果您正苦于以下问题:PHP DateTime::validate方法的具体用法?PHP DateTime::validate怎么用?PHP DateTime::validate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DateTime的用法示例。


在下文中一共展示了DateTime::validate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: validate

 /**
  * Validate
  *
  * @param string $key
  * @param string $value
  * @param string $label
  * @param array $fields
  * @return boolean
  */
 public function validate($key, $value, $label, &$fields)
 {
     unset($fields[$key]);
     $fields['>=' . $key] = null;
     $fields['<=' . $key] = null;
     if (!is_array($value)) {
         $this->addError($key, $this->getMessageInvalid(), ['#LABEL#' => $label]);
         return false;
     }
     if ($this->first_field === null) {
         $this->first_field = $this->min();
     }
     if ($this->second_field === null) {
         $this->second_field = $this->max();
     }
     $min_value = array_key_exists($this->min_key, $value) ? $value[$this->min_key] : null;
     if (!$this->first_field->validate($this->min_key, $min_value, $label, $fields)) {
         $this->addError($key, $this->getMessageInvalidMin(), ['#LABEL#' => $label, '#VALUE#' => $min_value]);
         return false;
     }
     $max_value = array_key_exists($this->max_key, $value) ? $value[$this->max_key] : null;
     if (!$this->second_field->validate($this->max_key, $max_value, $label, $fields)) {
         $this->addError($key, $this->getMessageInvalidMax(), ['#LABEL#' => $label, '#VALUE#' => $max_value]);
         return false;
     }
     if ($this->string()->length($max_value) > 0) {
         $max_time = $this->date()->makeTimeStamp($max_value, $this->format_input);
         $fields['<=' . $key] = $this->date()->convertTimeStamp($max_time);
     }
     if ($this->string()->length($min_value) > 0) {
         $min_time = $this->date()->makeTimeStamp($min_value, $this->format_input);
         $fields['>=' . $key] = $this->date()->convertTimeStamp($min_time);
     }
     if (isset($max_time) && isset($min_time)) {
         if ($max_time < $min_time) {
             $this->addError($key, $this->getMessageMinMoreMax(), ['#LABEL#' => $label, '#MIN#' => $min_value, '#MAX#' => $max_value]);
             return false;
         }
     }
     return true;
 }
开发者ID:jarick,项目名称:bx,代码行数:50,代码来源:DateTimeFilterValidator.php


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