diff --git a/src/clj/auto_ap/ssr/utils.clj b/src/clj/auto_ap/ssr/utils.clj index 2682ec75..6899c91f 100644 --- a/src/clj/auto_ap/ssr/utils.clj +++ b/src/clj/auto_ap/ssr/utils.clj @@ -185,7 +185,18 @@ :form-validation-errors [m]})))) (def clj-date-schema - (mc/schema [inst? {:date-format atime/normal-date}])) + (mc/schema [:and [inst? {:date-format atime/normal-date + }] + [:fn + {:error/message "Invalid date"} + (fn [d] + (time/after? (coerce/to-date-time d) + (coerce/to-date-time #inst "2000-01-01")))] + [:fn + {:error/message "Invalid date"} + (fn [d] + (time/before? (coerce/to-date-time d) + (time/plus (time/now) (time/years 2))))]])) (def date-transformer (mt2/transformer @@ -214,8 +225,6 @@ :else m))))}}})) - - (def date-range-transformer (mt2/transformer {:decoders {:map {:compile (fn [schema _]