Request.Validator behaviour (RequestValidator v1.0.2)

Copy Markdown View Source

Summary

Callbacks

Determine if the user is authorized to make this request.

Get the validation rules that apply to the request.

Types

validation_result()

@type validation_result() :: :ok | {:error, map()}

Callbacks

authorize?(t)

@callback authorize?(Plug.Conn.t()) :: boolean()

Determine if the user is authorized to make this request.

def authorize?(conn) do
  user(conn).is_admin
end

rules(t)

@callback rules(Plug.Conn.t()) :: map()

Get the validation rules that apply to the request.

Functions

sigil_V(arg, list)

(macro)

Examples

iex> import Request.Validator iex> import Request.Validator.Rules iex> rules = ~V[required|email:format] iex> [{required, []}, {email, ["format"]}] = rules iex> is_function(required, 0) true iex> match?(%{implicit?: true}, required()) true iex> is_function(email, 1) true

validate(module, params, opts \\ [])

@spec validate(module() | map(), map(), keyword()) :: validation_result()