mirror of
https://github.com/ash-project/ash_phoenix.git
synced 2024-09-20 07:12:49 +12:00
improvement: don't filter errors based on params
This commit is contained in:
parent
d453093cb4
commit
cc814a5b71
1 changed files with 1 additions and 18 deletions
|
@ -354,7 +354,7 @@ defimpl Phoenix.HTML.FormData, for: Ash.Changeset do
|
|||
|
||||
defp type_validations(_), do: []
|
||||
|
||||
defp form_for_errors(changeset, opts) do
|
||||
defp form_for_errors(changeset, _opts) do
|
||||
changeset.errors
|
||||
|> Enum.filter(&(Map.has_key?(&1, :field) || Map.has_key?(&1, :fields)))
|
||||
|> Enum.flat_map(fn
|
||||
|
@ -387,23 +387,6 @@ defimpl Phoenix.HTML.FormData, for: Ash.Changeset do
|
|||
_ ->
|
||||
[]
|
||||
end)
|
||||
|> filter_errors(changeset, opts)
|
||||
end
|
||||
|
||||
defp filter_errors(errors, changeset, opts) do
|
||||
if opts[:all_errors?] || is_nil(changeset.action) do
|
||||
errors
|
||||
else
|
||||
Enum.filter(errors, fn {field, _} ->
|
||||
field in (opts[:error_keys] || []) ||
|
||||
has_non_empty_key?(changeset.params, field) ||
|
||||
has_non_empty_key?(changeset.params, to_string(field))
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
defp has_non_empty_key?(params, field) do
|
||||
Map.has_key?(params, field) && params[field] not in [nil, "", []]
|
||||
end
|
||||
|
||||
defp vars(%{vars: vars}, opts) do
|
||||
|
|
Loading…
Reference in a new issue