首页 > 解决方案 > 来自 Laravel 护照 API 的 React 中的验证错误对象

问题描述

如何从 ReactJs 应用程序的以下对象中访问电子邮件值?

{"message":{"email":["The email field is required."]}}

这是一个已返回的验证错误,我想在电子邮件输入字段下显示该消息。

这段代码在 vanilla js 中对我有用,但在 ReactJs 中失败了

const errors = {"message":{"firstname":["The firstname field is required."],"lastname":["The lastname field is required."],"email":["The email field is required."],"password":["The password field is required."]}}

const data = Object.getOwnPropertyDescriptors(errors);

// console.log("this...",data.message.value);

const descriptor1 = Object.getOwnPropertyDescriptor(data.message.value, "firstname");
const descriptor2 = Object.getOwnPropertyDescriptor(data.message.value, "lastname");
const descriptor3 = Object.getOwnPropertyDescriptor(data.message.value, "email");
const descriptor4 = Object.getOwnPropertyDescriptor(data.message.value, "password");

console.log(descriptor1.value[0]);
console.log(descriptor2.value[0]);
console.log(descriptor3.value[0]);
console.log(descriptor4.value[0]);

标签: reactjsobjectlaravel-passport

解决方案


越野车

.catch(err => {
        setErrors(err.response.request.response);           
        setLoading(false);
      });

正确的:

.catch(err => {
         setErrors(err.response.data.errors);
        setLoading(false);
      });

推荐阅读