Skip to content

Commit 880da45

Browse files
authored
Merge pull request #157 from LeoLeiteSC/deal_with_array_fields_in_changeset_errors
Handle tuples when building changeset error messages
2 parents dcfcdca + b5e4088 commit 880da45

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

lib/kaffy/resource_form.ex

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,11 +344,14 @@ defmodule Kaffy.ResourceForm do
344344
defp build_error_messages(changeset) do
345345
Ecto.Changeset.traverse_errors(changeset, fn {msg, opts} ->
346346
Enum.reduce(opts, msg, fn {key, value}, acc ->
347-
String.replace(acc, "%{#{key}}", to_string(value))
347+
String.replace(acc, "%{#{key}}", build_changeset_value(value))
348348
end)
349349
end)
350350
end
351351

352+
defp build_changeset_value(value) when is_tuple(value), do: value |> Tuple.to_list() |> Enum.join(", ")
353+
defp build_changeset_value(value), do: to_string(value)
354+
352355
def kaffy_input(conn, changeset, form, field, options) do
353356
ft = Kaffy.ResourceSchema.field_type(changeset.data.__struct__, field)
354357

0 commit comments

Comments
 (0)