yup.validate 错误数组中只有 returns 个字段
yup.validate only returns single field in errors array
我正在尝试在 angular7 项目中添加 yup。我已成功将它添加到我的组件中。
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))
})
}
如果我传递所有空对象来验证它只在错误数组中提供 1 个字段。当我更正它时,它会显示下一个字段。我怎样才能得到所有无效字段的列表。
谢谢
是的,验证函数接受第二个参数选项。通过 {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))
})
}
我正在尝试在 angular7 项目中添加 yup。我已成功将它添加到我的组件中。
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))
})
}
如果我传递所有空对象来验证它只在错误数组中提供 1 个字段。当我更正它时,它会显示下一个字段。我怎样才能得到所有无效字段的列表。
谢谢
是的,验证函数接受第二个参数选项。通过 {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))
})
}