View Source Litmus.Type.DateTime (litmus v1.0.2)
This type validates DateTimes. It accepts either DateTime structs or
ISO-8601 strings. ISO-8601 datetime with timezone strings will be converted
into DateTimes.
options
Options
:default- Setting:defaultwill populate a field with the provided value, assuming that it is not present already. If a field already has a value present, it will not be altered.:required- Setting:requiredtotruewill cause a validation error when a field is not present or the value isnil. Allowed values for required aretrueandfalse. The default isfalse.
examples
Examples
iex> schema = %{"start_date" => %Litmus.Type.DateTime{}}
iex> {:ok, %{"start_date" => datetime}} = Litmus.validate(%{"start_date" => "2017-06-18T05:45:33Z"}, schema)
iex> DateTime.to_iso8601(datetime)
"2017-06-18T05:45:33Z"
iex> {:ok, default_datetime, _} = DateTime.from_iso8601("2019-05-01T06:25:00-0700")
...> schema = %{
...> "start_date" => %Litmus.Type.DateTime{
...> default: default_datetime
...> }
...> }
iex> {:ok, %{"start_date" => datetime}} = Litmus.validate(%{}, schema)
iex> DateTime.to_iso8601(datetime)
"2019-05-01T13:25:00Z"