使用 Vuelidate 进行条件验证?

Sev*_*eva 2 javascript vue.js vuex

我有一个表单,可以应用不同的验证,具体取决于action存储在 VUEX 存储中的参数。我试试这个:

data: function() {
   const validations = {
      sendToProject: {
        cardProject: {
          required,
        },
      },
      recallToBranch: {
        fioReceiver: {
          required,
        }
      }
   }
   return {
     validations,
   }
},
validations() {
  return {
    q: this.validations[this.action]  // supposed to be this.validations['sendToProject']
  }
},
computed: {
  ...mapGetters({
    action: 'action',
  }),
},
Run Code Online (Sandbox Code Playgroud)

这实际上有效,但在引导时抛出错误:

[Vue warn]: Error in render function: "TypeError: can't convert undefined to object"

并且该错误阻止了非 Vue 代码(Bootstrap jQuery 插件初始化等)的执行。

怎么修?谢谢。

Ber*_*oci 10

您是否尝试过在 required 验证器中使用 requiredIf 。例如:

validations: {
  anyProp: {
    required: requiredIf(function (abc) {
      return abc > 10 && abc < 20
    })
  }
}
Run Code Online (Sandbox Code Playgroud)