1
チェンジセット内で検証したい設定マップがあります。設定には複数のキーがあり、それぞれにいくつかの制約があります。エクトチェンジセット複数のエラーを追加
データを受け取ったときにそれぞれのバリデーターを実行することができましたが、これにより多くのコードを書くことができ、よりスマートに実行できるので、ループを実行していて、一つずつ。
defp validate_config_flags(changeset) do
config = get_field(changeset, :config)
for {k, v} <- config do
if !Map.has_key?(@config_flags, k) || !validate_config_flag(k, v) do
add_error(changeset, :"#{k}", "Invalid value for `#{k}`")
end
end
changeset
end
OBV私の問題は、特定のフィールドが失敗し、私の質問は、それに関連しているにもかかわらず、私はchangeset
を返すということです。どういうわけか最初にadd_error
に戻る代わりに、複数のエラーメッセージ/検証に失敗した結果を追加するにはどうすればよいですか?
端正:すべての段階で、次のと同様に場合エリクシールは、変更可能な変数を持っていました!ありがとうございました! –