View Source Xema.ValidationError exception (xema v0.16.0)
Raised when a validation fails.
Link to this section Summary
Functions
This function returns an error message for an error or error tuple.
Traverse the error tree and invokes the given function.
Link to this section Types
Link to this section Functions
This function returns an error message for an error or error tuple.
example
Example
iex> schema = Xema.new(:integer)
iex> schema
...> |> Xema.Validator.validate(1.1)
...> |> Xema.ValidationError.format_error()
"Expected :integer, got 1.1."
@spec travers_errors( {:error, map()} | map(), acc, (map(), path(), acc -> acc), opts() ) :: acc when acc: any()
Traverse the error tree and invokes the given function.
example
Example
iex> fun = fn _error, path, acc ->
...> ["Error at " <> inspect(path) | acc]
...> end
iex>
iex> schema = Xema.new(
...> properties: %{
...> int: :integer,
...> names: {:list, items: :string},
...> num: [any_of: [:integer, :float]]
...> }
...> )
iex>
iex> data = %{int: "x", names: [1, "x", 5], num: :foo}
iex>
iex> schema
...> |> Xema.Validator.validate(data)
...> |> Xema.ValidationError.travers_errors([], fun)
[
"Error at [:num]",
"Error at [:names, 2]",
"Error at [:names, 0]",
"Error at [:names]",
"Error at [:int]",
"Error at []"
]