當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。