Slide 5
Slide 5 text
defmodule App.Blog.Article do
use Ecto.Schema
import Ecto.Changeset
schema "articles" do
field(:author_name, :string)
field(:published, :boolean)
field(:title, :map)
end
def changeset(%__MODULE__{} = record, params) do
record
|> cast(~w(author_name published title)a, params)
|> validate_required(~w(author_name title)a)
|> validate_change(:title, &validate_nested_french_value/2)
end
defp validate_nested_french_value(field, %{"fr" => fr}) when fr != "", do: []
defp validate_nested_french_value(field, _) do
[{field, "must specify french value"}]
end
end