こんばんは。
csv取込をして複数アプリをbulkrequestで同時更新する機能をつくろうと思い、
csvの内容に不正がない場合の正常取込についてはできております。
しかしcsvの内容・値が不正だった場合、bulkrequestの実行時に以下のようにtry~catchでエラーを捕まえてエラー内容をできるだけ詳しく表示させたいのですが…
try{
bulkrequest処理
}catch(error){
errorオブジェクトからエラー内容を取り出し、window.alert()等で表示させたい
}
errorオブジェクトがその時々で違っておりメッセージの抽出に苦戦しています。
JSON.stringify()でエラーオブジェクトの内容を見たところ、以下2つのパターンがある事がわかりました。
■パターン1
“results”:[{
“code”:“GAIA_LO04”,
“id”:“sunnX7FOpFbp1vLSwk67”,
“message”:“エラーの詳細が記載”
}]
■パターン2
“results”:[{
“code”:“CB_VA01”,
“id”:“ijXMQX1ER50qd5baBk33”,
“message”:“ざっくりとしたエラー内容(入力内容が不正です、的な)”,
“errors”:{
“record.フィールド名1.value”:{
“messages”:[“エラーの詳細が記載”]
},
“record.フィールド名2.value”:{
“messages”:[“エラーの詳細が記載”]
}
}
}]
パターン1はresultsの下にすぐエラーメッセージがありますが、
パターン2はさらに深い階層でないと詳細のエラー内容が分かりません。
このようにエラー内容によってメッセージ存在場所が異なる場合に、
うまくメッセージを取り出すにはどうすればよいのでしょうか?
if文ですべての条件に応じてメッセージを取り出す以外に
良い方法があれば…と思うのですが、自分では分からず投稿させて頂きました。
どうぞよろしくお願いします。