Summary
Callbacks
Determine if the user is authorized to make this request.
Get the validation rules that apply to the request.
Types
@type validation_result() :: :ok | {:error, map()}
Callbacks
@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
@callback rules(Plug.Conn.t()) :: map()
Get the validation rules that apply to the request.
Functions
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
@spec validate(module() | map(), map(), keyword()) :: validation_result()