Vee验证:具有多个条件的依赖下拉列表

时间:2019-05-09 15:29:36

标签: vue.js vee-validate buefy

我的表单需要验证的三种相关输入方式。

  1. 第一个下拉列表
  2. 第二个下拉列表
  3. 第三个免费文本

Form

在实现required_if条件时,我需要帮助,因为语法使它无法正常工作并解决以下问题

  1. 当[问题类别]的值为'其他(输入详细信息)'时,需要禁用[问题],[详细信息]字段为必填项。
  2. [问题]的值为“其他(输入详细信息)”时,[详细信息]字段为必填项。
  3. v-bind:key是第二个下拉菜单所必需的,但是不确定如何使用数字来消除控制台中出现的错误。

CodeSandbox

1 个答案:

答案 0 :(得分:2)

首先,请在以后的问题中加入相关代码。 “代码沙箱”非常好,非常有帮助,但是在Stack Overflow上,目标是能够在站点内找到答案(无需将其保留以查看问题或答案的一部分)。

您不需要使用required_if。而是使用v-validate的对象形式,如下所示:

  <b-input 
    type="textarea" 
    v-model="item.detail" 
    v-validate="{'required':(item.issue_category == 'Other (Enter Detail)')}" 
    name="detail">
  </b-input>

对于您的其他问题,除了您还忘记为选择项提供必需的name之外,其他基本相同。另外不要在其中混用HTML5 required属性,我认为这没有帮助:

          <b-select
            v-model="item.issue"
            name="Issue"
            v-validate="{'required':(item.issue_category != 'Other (Enter Detail)')}"               >

就是这样!参见工作示例here