Angularアプリでは、サーバーからのHTTP応答がJSONオブジェクトとしてエラーが発生しています。私はそれらをすべて文字列に結合して、それらをユーザーにメッセージとして表示したいと考えています。現時点で オブジェクトの値を動的キー名の文字列に結合する
は、私はこれを行っている:if ("errors" in emsg.error) {
let msg = emsg.error.map(o => o.name).join(', ');
}
はしかし、私は別のキー名とリターンのすべての異なる場合のためにそれを記述する必要があります。私の応答の例は、このいずれかになります。
{
"error":{
"message":"422 Unprocessable Entity",
"errors":{
"id":[
"The id has already been taken."
],
"name":[
"The name has already been taken."
]
},
"status_code":422
}
}
だから、私の応答は、動的オブジェクト名を持つことができ、それらのそれぞれが複数のエラーを有することができます。上のコードを同じフォーマットのすべての応答を扱う汎用コードに変換する方法はありますか?
オブジェクト名 'error'が動的に変更される可能性がありますか?または 'errors'? – RaR
for-inまたはforEachを使用した反復が機能しない何らかの理由はありますか?あなたはそれを試していないのですか? – ryanlutgen
@RaR "id"と "name"のキーはフォームの送信に基づいて変更されることがあります。 – Tasos