Javascript yup.validate仅返回错误数组中的单个字段
我试图在angular7项目中添加yup。我已成功地将其添加到我的组件中Javascript yup.validate仅返回错误数组中的单个字段,javascript,angular,reactjs,yup,Javascript,Angular,Reactjs,Yup,我试图在angular7项目中添加yup。我已成功地将其添加到我的组件中 readonly optionalRequiredSchema = yup.object().shape({ ['@name']: yup.string().required(), description: yup.string().required(), ['rule-type']: yup.string().required(), from: yup.object().require
readonly optionalRequiredSchema = yup.object().shape({
['@name']: yup.string().required(),
description: yup.string().required(),
['rule-type']: yup.string().required(),
from: yup.object().required(),
source: yup.object().required(),
to: yup.object().required(),
destination: yup.object().required(),
service: yup.object().required(),
application: yup.object().required(),
action: yup.string().required()
});
我就是这样
validateData() {
this.optionalRequiredSchema.validate(this.allData)
.then(
(data) => console.log(data)
).catch(err => {
console.log(err);
this.showToast('top-right', 'danger', JSON.stringify(err.errors))
})
}
若我传递所有空对象来验证它,那个么在errors数组中只给出1个字段。当我校正时,它会显示下一个1字段。如何获取所有无效字段的列表
谢谢是的,验证函数接受第二个参数选项。Pass{abortEarly:false}将解决您的问题
validateData() {
this.optionalRequiredSchema.validate(this.allData, {abortEarly: false})
.then(
(data) => console.log(data)
).catch(err => {
console.log(err);
this.showToast('top-right', 'danger', JSON.stringify(err.errors))
})
}
Yup验证函数接受第二个参数选项。Pass{abortEarly:false}将解决您的问题
validateData() {
this.optionalRequiredSchema.validate(this.allData, {abortEarly: false})
.then(
(data) => console.log(data)
).catch(err => {
console.log(err);
this.showToast('top-right', 'danger', JSON.stringify(err.errors))
})
}