View Source Litmus.Type.Any (litmus v1.0.2)
This type provides validation for any type of value.
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 = %{"id" => %Litmus.Type.Any{required: true}}
iex> Litmus.validate(%{"id" => 1}, schema)
{:ok, %{"id" => 1}}
iex> schema = %{"id" => %Litmus.Type.Any{default: "new_id"}}
iex> Litmus.validate(%{}, schema)
{:ok, %{"id" => "new_id"}}
iex> schema = %{"id" => %Litmus.Type.Any{required: true}}
iex> Litmus.validate(%{}, schema)
{:error, "id is required"}
iex> schema = %{"id" => %Litmus.Type.Any{required: true}}
iex> Litmus.validate(%{"id" => nil}, schema)
{:error, "id is required"}