根据vuelidate中的另一个验证来验证是否选中了复选框

时间:2019-06-19 09:03:01

标签: vue.js vuelidate

我只是从Vue开始,而vuelidate。我有一个表格,该表格应通过以下方式工作:

  1. 该表单显示是/否单选按钮组。
  2. 如果选中单选按钮“是”,则该表单将显示一个复选框。
  3. 如果满足以下条件之一,则将启用表单的提交按钮:
    1. 单选按钮设置为“否”。或
    2. 单选按钮设置为“是”,并选中该复选框。

我遇到了3中所述的问题。我当前的验证如下:

termsAccepted: { checked: value => value === true }

这基本上适用于案例3.2,但不适用于案例3.1。在那种情况下,表单仍然被禁用。

  b-form-checkbox#termsAccepted(
    v-model="termsAccepted"
    :state="!$v.termsAccepted.$invalid"
    :disabled="disableForm"
  )

1 个答案:

答案 0 :(得分:1)

听起来computed property应该起作用: Computed Property Documentation
您可以执行以下操作:

computed: {
    isEnabled() {
      return !radiobutton || (radiobutton && checkbox.checked)
    }
  }