Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 944 Bytes

README.md

File metadata and controls

33 lines (27 loc) · 944 Bytes

Paramus

License Hex Donate

Parameter validation for Phoenix.

Example

defmodule Example.Routes.Fruit do
  use Phoenix.Controller
  use Paramus

  @required [
    name: :string,
    quantity: :integer
  ]
  @optional [
    cut?: {:boolean, false}
  ]
  def consume(conn, %{name: name, quantity: quantity, cut?: cut?}) do
    # ···
  end

  def validate(changeset, :consume) do
    changeset
    |> validate_length(:name, min: 3)
    |> validate_number(:quantity, less_than: 5)
  end
end