无法提交表单选择选项Vuelidate

Posted

技术标签:

【中文标题】无法提交表单选择选项Vuelidate【英文标题】:can't submit form select option Vuelidate 【发布时间】:2021-11-24 19:08:34 【问题描述】:

我正在使用 Vuelidate 0.7.6 版,对于表单验证,我有一个选择的选项来验证它与提交表单,如果选择了验证选项或空选项我有错误我为输入文本编写了相同的代码它有效,但选择否:

         <div class="col-md-4">
                <label for="exampleFormControlS1">Famille:</label>
                <select
                  class="form-control form-control-sm mt-2"
                  id="exampleFormControlSelect1"
                  name="family"
                  v-model="familyId"
                  @change="onChange($event)"
                  :class="
                    'is-invalid': $v.family.$error,
                    'is-valid': !$v.family.$invalid,
                  "
                  ><option value="null">- -- -</option>
                  <option
                    v-for="lineItem in familyListe"
                    :key="lineItem.id"
                    :value="lineItem.id"
                  >
                     lineItem.name </option
                  >
                </select>
                <div class="invalid-feedback">
                  <span v-if="!$v.family.required">Famille requise</span>
                </div>
              </div>

  validations: 
    family: 
      required,
    ,
            

【问题讨论】:

【参考方案1】:

我想您应该将 v-model 更改为“family”而不是“familyId”以正确验证您的字段。

 <select
        class="form-control form-control-sm mt-2"
        id="exampleFormControlSelect1"
        name="family"
        v-model="family"
        @change="onChange($event)"
        :class="
          'is-invalid': $v.family.$error,
          'is-valid': !$v.family.$invalid,
        "
 >...

根据Vuelidate Docs的onChange方法:Form submission

 methods: 
    onChange() 
        console.log("onChange!");
        if (this.$v.$invalid) 
          this.submitStatus = "ERROR";
         else 
          this.submitStatus = "OK";
        
      
    

查看以下 CodeSandbox 了解详情:

https://codesandbox.io/s/***-69434609-vuelidate-t11qy?file=/package.json

【讨论】:

感谢您的反应,我使用相同的代码进行文本输入,仅通过选项即可解决问题,您可以查看图片

以上是关于无法提交表单选择选项Vuelidate的主要内容,如果未能解决你的问题,请参考以下文章

即使我有错误Vuejs,提交表单后模态也会关闭

js onchange 提交默认选择选项

仅从选定的单选按钮选项提交表单数据

通过 Ajax 在 React 中提交表单

启用/禁用表单提交按钮不起作用

Safari blob 下载影响表单提交 - 导致表单帖子被下载而不是在新选项卡中打开