vuelidate: кнопка отправки отключена, даже если элемент не требуется - PullRequest
0 голосов
/ 28 декабря 2018

Я делаю проверку формы.Вот мой код:

<v-menu ref="menu3" :close-on-content-click="false" v-model="anniversaryVisibility" :nudge-right="10" :return-value.sync="enquiryForm.anniversary"
   lazy
   transition="scale-transition"
   offset-y
   full-width
   min-width="290px">

   <v-text-field 
        slot="activator" 
        v-model="enquiryForm.anniversary" 
        label="Anniversary" 
        append-icon="event" 
        outline 
        readonly
        :error-messages="fieldErrors('enquiryForm.anniversary')"
        @input="$v.enquiryForm.anniversary.$touch()"
        @blur="$v.enquiryForm.anniversary.$touch()"
        ></v-text-field>

        <v-date-picker v-model="enquiryForm.anniversary" @input="$refs.menu3.save(enquiryForm.anniversary)"></v-date-picker>
 </v-menu>

Вот моя кнопка отправки:

<v-btn flat lg color="secondary" @click="submit" :disabled="$v.$invalid">Submit</v-btn>

Вот мой скрипт:

const defaultFormData = {
anniversary: ''
}

validations: {
    enquiryForm: {
        anniversary: { }
    }
}

Годовщина не требуется в моемформа.Тем не менее, я должен выбрать годовщину, чтобы включить кнопку отправки.Кнопка отправки остается отключенной, пока не будет выбрана дата годовщины.У любого есть идеи, чтобы отправить форму.

Это мой код отправки:

submit ( ) {
        this.$store.dispatch('addEnquiry', {
            date: moment().format(),
            customername: this.enquiryForm.customername,
            contactnumber: this.enquiryForm.contactnumber,
            alternatecontactnumber: this.enquiryForm.alternatecontactnumber,
            emailid: this.enquiryForm.emailid,
            address: this.enquiryForm.address,
            dateofbirth: this.enquiryForm.dateofbirth,
            anniversary: this.enquiryForm.anniversary,
            requirement: this.enquiryForm.requirement,
            preferences: this.enquiryForm.preferences,
            informationSource: this.enquiryForm.informationSource,
            investmentRange: this.enquiryForm.investmentRange,
            preferredBank: this.enquiryForm.preferredBank,
            loan: this.enquiryForm.loan,
            owncontribution: this.enquiryForm.owncontribution,
            sourceofinformation:this.enquiryForm.sourceofinformation,
            projectId: this.enquiryForm.projectId,
            company: this.enquiryForm.company,
            designation: this.enquiryForm.designation,
            executiveId: this.enquiryForm.executiveId
        })
        .then( ( result ) => {
            this.close();
        } )
        .catch( ( err ) => {
            console.log( err );
        } )
    }
...