Я проверяю поля времени начала и окончания в форме.
Входные данные выглядят так (да, у меня много параметров, чтобы можно было выполнять проверку на стороне сервера):
<ValidationObserver>
<div class="w3-third">
<label>From</label>
<ValidationProvider vid='st' mode="eager" :rules="{'available': ['@st','@et', res_date, 'startTime', selectedField.id] }" v-slot="{ errors}">
<dropdown id="starttime" :options="startTimeOptions" v-model="startTime" @change="getDuration()"></dropdown>
<span class="w3-red">{{ errors[0] }}</span>
</ValidationProvider>
</div>
<div class="w3-third ">
<label>Until</label>
<ValidationProvider vid="et" :rules="{'available': ['@st','@et', res_date, 'endTime', selectedField.id] }" v-slot="{ errors}">
<dropdown id="endtime" :options="endTimeOptions" v-model="endTime" @change="getDuration()"></dropdown>
<span>{{ errors[0] }}</span>
</ValidationProvider>
</div>
</ValidationObserver>
Даже с таким очень простым правилом проверки, как это, где я просто каждый раз возвращаю true:
extend('available', {
validate(value, {s, e, dt, which, field } ) {
console.log("validate", which );
return true;
},
message: 'The time is not available ',
params:[ 's', 'e', 'dt', 'which', 'field']
});
Он проверяется один раз для каждого поля при вводе компонента формы. Но последующие проверки происходят 3 раза. Может ли это быть связано с тем, как я формирую свой объект правил? Я изменил режим, но если я попробую «ленивый», он не будет подтвержден после ввода формы. Обратите внимание, что это выбранный вход.