error message
by batcave
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js"></script>
JavaScript
const response = {
"success": false,
"errors": [
[{
"companyProfile": [{
"dunsNumber": [{
"message": "Duns Number' must not be empty.",
"code": "required"
}]
},
{
"registrationNumber": [{
"message": "Registration Number' must not be empty.",
"code": "required"
}]
},
{
"vatNumber": [{
"message": "Vat Number' must not be empty.",
"code": "required"
}]
},
{
"eoriNumber": [{
"message": "Eori Number' must not be empty.",
"code": "required"
}]
}
],
"invoiceAddress": [{
"dunsNumber": [{
"message": "Duns Number' must not be empty.",
"code": "required"
}]
},
{
"registrationNumber": [{
"message": "Registration Number' must not be empty.",
"code": "required"
}]
},
{
"vatNumber": [{
"message": "Vat Number' must not be empty.",
"code": "required"
}]
},
{
"eoriNumber": [{
"message": "Eori Number' must not be empty.",
"code": "required"
}]
}
]
}]
]
}
const result = {}
_.forEach(_.flatten(response.errors), item => {
_.forOwn(item, (v, k) => {
_.forOwn(v, (v2, k2) => {
_.forOwn(v2, (v3, k3) => {
_.set(result, [k, k3], _.map(v3, 'message'))
})
})
})
})
console.log(result)