16 lines
456 B
Elixir
16 lines
456 B
Elixir
defmodule EntenduWeb.ChangesetView do
|
|
use EntenduWeb, :view
|
|
|
|
def translate_errors(%Ecto.Changeset{} = changeset) do
|
|
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
|
|
end
|
|
|
|
def translate_errors(errors = %{}), do: errors
|
|
|
|
def render("error.json", %{changeset: changeset}) do
|
|
# When encoded, the changeset returns its errors
|
|
# as a JSON object. So we just pass it forward.
|
|
%{errors: translate_errors(changeset)}
|
|
end
|
|
end
|