Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
validate if user select items or not in combobox in Vue js

I have combobox in Vue JS to select multiple items, I want to validate if user select any items or keep it empty, but the problem when I print the length and value of combox in console always gives length == 2 and values gives undefined in both cases if user select items or not

HTML

 <v-col cols="6">
        <v-combobox  class="xrfelements" :items="xrfElementsRatios" v-model="mainElementsRatios" :rules="notEmptyRule" label="Main Elements and Ratios" multiple required small-chips outlined dense></v-combobox>
  </v-col>

java script

validateForm: function (e) {
if (document.getElementsByClassName("xrfelements").length) {
console.log(document.getElementsByClassName("xrfelements".values
return true;}

 this.errors = [];
if (!document.getElementsByClassName("xrfelements").length){

       console.log(document.getElementsByClassName("xrfelements").index)
       console.log(document.getElementsByClassName("xrfelements".values)
        this.errors.push('there is no element selected.')
}
 

if (this.errors.length)
      

      {  
       this.$alert ("The following items should not be empty: " +this.errors.join(", "))

      }

    e.preventDefault(e);
      },
       
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

That's not how frameworks like vue work: You often times don't interact with the DOM directly. Instead, you use Vue intermediary. Please learn the basics of Vue.

new Vue({
    el: '#app',
    template: ` <v-col cols="6">
        <v-combobox  class="xrfelements" :items="xrfElementsRatios" v-model="mainElementsRatios" :rules="notEmptyRule" label="Main Elements and Ratios" multiple required small-chips outlined dense></v-combobox>
  </v-col>`,
    data() {
        return {
          notEmptyRule: [],
          mainElementsRatios: [],
          xrfElementsRatios: [],
        }
    },
    methods: {
        validateForm: function (e) {
            if (mainElementsRatios.length) {
                console.log(mainElementsRatios);
              return true;
            }

            this.errors = [];
            if (!mainElementsRatios.length) {

                console.log(document.getElementsByClassName("xrfelements").index)
                console.log(mainElementsRatios)
    this.errors.push('there is no element selected.')
}


            if (this.errors.length) {
                this.$alert("The following items should not be empty: " + this.errors.join(", "))

            }

            e.preventDefault(e);
        },
    }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app"></div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!