JSON Schema による検証結果を ExParamsSchema のエラー形式へ変換します。
ExJsonSchema との統合に関する内部モジュールです。通常は parse/2 または
parse_detailed/2 を使用してください。
Summary
Functions
@spec validate(ExParamsSchema.Schema.t(), map()) :: :ok | {:error, ExParamsSchema.error_reason()}
JSON 互換のデータを検証し、最初の宣言に対応するエラー理由へ正規化します。
iex> schema = ExParamsSchema.compile!(%{count: {:integer, minimum: 1, error: :invalid_count}})
iex> ExParamsSchema.Schema.Validator.validate(schema, %{"count" => 2})
:ok
iex> ExParamsSchema.Schema.Validator.validate(schema, %{"count" => 0})
{:error, :invalid_count}
@spec validate_detailed(ExParamsSchema.Schema.t(), map()) :: :ok | {:error, [ExParamsSchema.ValidationError.t()]}
JSON 互換のデータを検証し、すべてのエラーをパス付きで返します。
iex> schema = ExParamsSchema.compile!(%{count: {:integer, minimum: 1, error: :invalid_count}})
iex> {:error, [error]} = ExParamsSchema.Schema.Validator.validate_detailed(schema, %{"count" => 0})
iex> {error.path, error.keyword, error.reason}
{["count"], :minimum, :invalid_count}