【发布时间】:2021-12-20 22:18:45
【问题描述】:
我得到一个具有随机属性(键)的对象,我想验证,这是我能得到的一个例子:
{
"underlying_ticker": "",
"barrier": "",
"fixing_date": "3223",
"maturity_date": "2323",
"payment_date": "2332",
"put_barrier": "2323",
"put_strike": "3232",
"quantity": "2323",
"strike": "32"
}
我想知道如何验证它们以了解它们是否已填充等等。
我尝试了以下代码:
const validateForm = async (data) => {
try {
parametersFormRef.current.setErrors({});
const shapes = Object.keys(data).map(((parameter) => {
return ({ [parameter]: Yup.string().typeError("Test").required() });
}));
const schema = Yup.object().shape({ ...shapes });
await schema.validate(data, { abortEarly: false });
} catch (err) {
console.error(err);
const validationErrors = {};
if (err instanceof Yup.ValidationError) {
err.inner.forEach((error) => {
validationErrors[error.path] = error.message;
});
}
}
};
但是,即使有两个空值,它也不会陷入困境。
【问题讨论】: