我有一个表格,可以根据VUEX存储中的参数action应用不同的验证。我尝试这样:

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',
  }),
},


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

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

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

怎么修?谢谢。

最佳答案

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

validations: {
  anyProp: {
    required: requiredIf(function (abc) {
      return abc > 10 && abc < 20
    })
  }
}

10-05 21:59