mirror of
https://github.com/ash-project/ash_phoenix.git
synced 2024-09-20 07:12:49 +12:00
fix: don't validate values that aren't maps
This commit is contained in:
parent
2e061428a4
commit
7b9f3070a6
1 changed files with 136 additions and 120 deletions
|
@ -937,6 +937,7 @@ defmodule AshPhoenix.Form do
|
||||||
form_params || %{}
|
form_params || %{}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if values_are_maps(form_params) do
|
||||||
new_forms =
|
new_forms =
|
||||||
Enum.reduce(form_params, forms, fn {index, params}, forms ->
|
Enum.reduce(form_params, forms, fn {index, params}, forms ->
|
||||||
case Enum.find(form.forms[key] || [], &matcher.(&1, params, form, key, index)) do
|
case Enum.find(form.forms[key] || [], &matcher.(&1, params, form, key, index)) do
|
||||||
|
@ -1036,6 +1037,10 @@ defmodule AshPhoenix.Form do
|
||||||
|
|
||||||
{new_forms, new_params}
|
{new_forms, new_params}
|
||||||
else
|
else
|
||||||
|
{forms, params}
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if is_map(form_params) do
|
||||||
new_forms =
|
new_forms =
|
||||||
if form.forms[key] do
|
if form.forms[key] do
|
||||||
new_form =
|
new_form =
|
||||||
|
@ -1078,6 +1083,9 @@ defmodule AshPhoenix.Form do
|
||||||
)
|
)
|
||||||
|
|
||||||
{new_forms, new_params}
|
{new_forms, new_params}
|
||||||
|
else
|
||||||
|
{forms, params}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
|
@ -1222,6 +1230,14 @@ defmodule AshPhoenix.Form do
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp values_are_maps(map) when is_map(map) do
|
||||||
|
map
|
||||||
|
|> Map.values()
|
||||||
|
|> Enum.all?(&is_map/1)
|
||||||
|
end
|
||||||
|
|
||||||
|
defp values_are_maps(_), do: false
|
||||||
|
|
||||||
@submit_opts [
|
@submit_opts [
|
||||||
force?: [
|
force?: [
|
||||||
type: :boolean,
|
type: :boolean,
|
||||||
|
|
Loading…
Reference in a new issue