xema v0.9.0 Xema.ValidationError exception View Source
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 type
opts()
View Source
opts()
View Source
opts() :: [] | [{:path, path()}]
opts() :: [] | [{:path, path()}]
Link to this type
path() View Source
Link to this section Functions
Link to this function
format_error(error) View Source
This function returns an error message for an error or error tuple.
Example
iex> schema = Xema.new(:integer)
iex> schema
...> |> Xema.Validator.validate(1.1)
...> |> Xema.ValidationError.format_error()
"Expected :integer, got 1.1."
Link to this function
travers_errors(error, acc, fun, opts \\ []) View Source
Traverse the error tree and invokes the given function.
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 []"
]