2016-07-02 4 views
0

Ectoと同様、チェンジセットがあり、無効なチェンジセットの場合は、Traverse errorに従ってエラーをトラバースできます。しかし、これは、我々はエリクサーでそのWTH何かをすることはできませんので、我々はそのようなオブジェクトとして、あるいは、そのような「EXIDは空白にすることはできません」などの直の文字列を取得することができ、そのようなEcto Elixirでエラーをトラバースした後の文字列の抽出

{ 
    "to_date": [ 
     "can't be blank" 
    ], 
    "title": [ 
     "can't be blank" 
    ], 
    "requested_by": [ 
     "can't be blank" 
    ], 
    "from_date": [ 
     "can't be blank" 
    ], 
    "exid": [ 
     "can't be blank" 
    ] 
    } 

として私たちに非常に複雑なJSONを与えた

{ 
    to_date: "to_date can't be bank" 
} 

更新: これはエラー

%{exid: ["can't be blank"], from_date: ["can't be blank"], 
    requested_by: ["can't be blank"], title: ["can't be blank"], 
    to_date: ["can't be blank"]} 

Enumを使用することにより、「EXIDが空白になるカント」取得する方法があるを通過した後の結果ですか?あなたがstrigsのリストに変換したい場合は

答えて

0

、あなたのような何かを行うことができます:

for {key, values} <- errors, value <- values, do: "#{key} #{value}" 

デモ:

iex(1)> errors = %{exid: ["can't be blank", "can't be something else"], from_date: ["can't be blank"], 
...(1)> requested_by: ["can't be blank"], title: ["can't be blank"], 
...(1)> to_date: ["can't be blank"]} 
%{exid: ["can't be blank", "can't be something else"], 
    from_date: ["can't be blank"], requested_by: ["can't be blank"], 
    title: ["can't be blank"], to_date: ["can't be blank"]} 
iex(2)> for {key, values} <- errors, value <- values, do: "#{key} #{value}" 
["exid can't be blank", "exid can't be something else", 
"from_date can't be blank", "requested_by can't be blank", 
"title can't be blank", "to_date can't be blank"] 
+0

あなたが列挙型を取り外し、なぜあなたは素晴らしいおかげ – ijunaidfarooq

+0

ですか? – ijunaidfarooq

関連する問題