小编Cor*_*rey的帖子

是的动态验证链

我正在使用 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);
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

有任何想法吗?

谢谢。

javascript yup

5
推荐指数
1
解决办法
1975
查看次数

标签 统计

javascript ×1

yup ×1