【问题标题】:Validate if checkbox is checked depending on another validation in vuelidate验证是否选中了复选框,具体取决于 vuelidate 中的另一个验证
【发布时间】:2019-11-01 23:17:57
【问题描述】:

我刚开始使用 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"
  )

【问题讨论】:

    标签: vue.js vuelidate


    【解决方案1】:

    这听起来像 computed property 应该对这份工作: Computed Property Documentation
    你可以这样做:

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

    【讨论】:

      猜你喜欢
      • 2018-12-14
      • 2018-03-23
      • 2014-10-29
      • 2017-01-21
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      相关资源
      最近更新 更多