Yup动态验证链

时间:2018-10-23 05:35:35

标签: javascript yup

我正在使用yup验证并尝试建立条件验证对象

我认为问题是如何在不进行硬编码的情况下将必需的对象和匹配的对象添加到Yup.string()对象,类似于您可能链接我的jQuery函数的方法

这是我要实现的目标的一个示例

if (field.required) {
  valSchema[id] = Yup.string().required(errorText[id].default);
}
if (field.validation) {
  valSchema[id] = Yup.string().matches(re, field.validation[0].message);
}
if (field.otherValidation) {
  valSchema[id] = Yup.string().matches(re, field.validation[1].message);
}

显然,这是行不通的,因为最后一个条件为true会覆盖以前的条件

如果所有条件都为真,那么最终结果将是这样

valSchema[id] = Yup.string()
  .required(errorText[id].default)
  .matches(reExp, field.validation[0].message);
  .matches(reExp1, field.validation[1].message);

有什么想法吗?

谢谢

0 个答案:

没有答案