 (defmethod attrib-value-element->condition :timeRange
   [attrib-name value-elem]
   (let [[start-time stop-time] (parse-time-range-element value-elem)]
-    (qm/map->AttributeRangeCondition
-      {:type :time
-       :name attrib-name
-       :min-value start-time
-       :max-value stop-time})))
+    (if (or start-time stop-time)
+      (qm/map->AttributeRangeCondition
+        {:type :time
+         :name attrib-name
+         :min-value start-time
+         :max-value stop-time})
+      {:errors [(msg/one-of-min-max-msg)]})))
 
 (defn- additional-attribute-element->conditions
   "Returns the query conditions of the given additionalAttribute element"

            [cmr.search.models.query :as qm]
            [cmr.search.models.group-query-conditions :as gc]
            [cmr.search.services.parameters.converters.attribute :as p]
            [cmr.common.date-time-parser :as date-time-parser]))

(defn- attrib-value->condition
  [attrib-type attrib-name value]

    ;; There is no datetimeRange element for AdditionalAttribute in AQL,
    ;; the dateRange element covers both the date type and datetime type of AA.
    ;; This is different from parameter search of AA.
    (if (or start-date stop-date)
      (gc/or-conds
        [(qm/map->AttributeRangeCondition
           {:type :datetime
            :name attrib-name
            :min-value start-date
            :max-value stop-date})
         (qm/map->AttributeRangeCondition
           {:type :date
            :name attrib-name
            :min-value start-date
            :max-value stop-date})])
      {:errors [(msg/one-of-min-max-msg)]})))

(defmethod attrib-value-element->condition :time
  [attrib-name value-elem]
