defmodule User do
use Ecto.Model
import Ecto.Changeset
schema "users" do
field :name
field :email
field :age, :integer
end
def changeset(user, params \\ :empty) do
user
|> cast(params, ~w(name email), ~w(age))
|> validate_format(:email, ~r/@/)
|> unique_constraint(:email)
|> validate_inclusion(:age, 18..100)
end
end