mobilizon/lib/mobilizon_web/views/changeset_view.ex

23 lines
627 B
Elixir
Raw Normal View History

defmodule MobilizonWeb.ChangesetView do
@moduledoc """
View for changesets in case of errors
"""
use MobilizonWeb, :view
@doc """
Traverses and translates changeset errors.
See `Ecto.Changeset.traverse_errors/2` and
`MobilizonWeb.ErrorHelpers.translate_error/1` for more details.
"""
def translate_errors(changeset) do
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
end
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