JSV.ErrorFormatter (jsv v0.10.1)
View SourceError formatting helpers.
Errors are grouped by:
- Instance location: the bit of data that was invalidated
- Schema location: the part of the schema that invalidated it
- Evaluation path: the path followed from the root to this schema location
Summary
Functions
Returns a JSON-able version of the errors contained in the ValidationError.
Returns an output unit with valid: true
for the given
JSV.Validator
. This can be substitued to an Error struct in the
nested details of an error. Mostly used to show multiple validated schemas
with :oneOf
.
Types
@type error_unit() :: %{ :valid => boolean(), :instanceLocation => binary(), :evaluationPath => binary(), :schemaLocation => binary(), optional(:errors) => [keyword_error()] }
@type keyword_error() :: %{ :kind => atom(), :message => String.t(), optional(:details) => [error_unit()] }
Functions
@spec normalize_error( JSV.ValidationError.t(), keyword() ) :: map()
Returns a JSON-able version of the errors contained in the ValidationError.
This is generatlly useful to generate HTTP API responses or message broker responses.
Options
:sort
- Controls the sort direction. Errors are sorted byinstanceLocation
. The default value is:desc
.:keys
- Define the type of the keys in the normalized errors maps.While truly "normalized" JSON data should not have atom keys, this option defaults to :atoms for backward compatibility reasons.
@spec valid_annot(JSV.Validator.validator(), JSV.Validator.context()) :: error_unit()
Returns an output unit with valid: true
for the given
JSV.Validator
. This can be substitued to an Error struct in the
nested details of an error. Mostly used to show multiple validated schemas
with :oneOf
.