当发送的数据不正确时,它会从服务器表中获取验证器错误,如图所示。我的问题是如何到达此数组,以便您不必在合理的err.error.erros.email或err.error.erros.password上单独引用每个元素。我想使用sweetalert来显示这些错误,一个在另一个下面。
我的代码:
this.http.post('https://mylocalhost/api/1.3/user/login', params, {headers: config})
.subscribe(res => {
this.userData = res;
swal('App', 'Zostałeś zalogowany pomyślnie', 'success');
localStorage.setItem('x-ticket', this.userData['x-ticket']);
},
(err: HttpErrorResponse) => {
console.log(err);
});
答案 0 :(得分:2)
您可以使用以下内容将其转换为数组
var error = {
errors: {
email: "This is an email error",
password: "This is a password error"
}
}
// Create an array from the object
let arr = Object.keys(error.errors).map((key) => error.errors[key]);
// Some examples of using the value
console.log(arr);
console.log(arr[0]);
console.log(arr.join("\n"));
一旦有了数组,就可以显示所需的数组,而无需引用每种错误类型。
答案 1 :(得分:0)
下面是我正在使用的有角度的5个代码示例之一。您应该可以进行编辑并使其适合您的情况。
postNewInventoryEntry(data: any) {
return this.http.post(this.api_url + '/inventory-management/inventory/', data)
.map(res => res)
.catch((e: any) => {
alert('ERROR: ' + e.error['msg']);
return _throw(e.error)});
}