在我的api中,我有:
$request->validate([
'firstname' => 'required',
'lastname' => 'required',
'username' => 'required|unique:users',
'email' => 'required|email|unique:users',
'password' => 'required'
]);
然后我在axios with
上发现了错误:
.catch(error=>{
console.log("Error: " + error.response.data.errors)
})
但是它将给我:Error: [object Object]
如果我有意输入数据库中已经存在的username
,然后将捕获更改为
.catch(error=>{
console.log("Error: " + error.response.data.errors.username)
})
它将显示Username is already taken
,这是一件好事。
这意味着我必须手动指定error.response.data.errors.<x error>
才能显示消息,因为如果我输入data.errors.username
,然后电子邮件是验证中的问题,控制台将说{{1 }}很有意义,因为除了Error: undefined
之外没有data.errors.username
。
有没有一种方法可以在不手动指定的情况下访问和显示返回的错误?多谢!
答案 0 :(得分:1)
为了显示错误,请尝试使用Object.values(errors)
来获取对象值并返回一些数组,然后使用flat()
方法从中获取一个数组,最后使用{{1 }}方法如下:
join()