Проверка на стороне сервера Vee-Validate v3 в правиле - PullRequest
0 голосов
/ 15 января 2020

Попытка выполнить проверку на стороне сервера в правиле. Это что-то вроде этого:

        validate(value, {fname, fid } ) {    
            return(axios({
                method: 'post',
                url: 'xyz.php'             
            })
            .then(function (response) {
              return response.msg === 'available'
             }
            })
         )
        },
        message: 'Not available ', 
        params:[ 'fname', 'fid' ]
    });

Однако я не получаю сообщения об ошибке, даже если мой запрос возвращается с надлежащей проверкой. Я нашел 2 примера, но оба используют this. $ Refs (.form или .observer), к которому у меня нет доступа в расширении, поскольку он находится вне объекта Vue. Как я go об ошибках установки в этой ситуации? Заранее спасибо.

Шаблон такой:

 <div class="w3-third">
                            <label>From</label>
                            <ValidationProvider vid="st" mode="eager" :rules="{'available': [res_date, endTime, 'starter', selectedField.id] }" v-slot="{ errors }">                        
                                <dropdown id="starttime" :options="startTimeOptions" v-model="startTime" ></dropdown> 
                                <span class="w3-red">{{ errors[0] }}</span>
                            </ValidationProvider>
                        </div>
                        <div class="w3-third  ">
                            <label>Until</label>
                            <ValidationProvider vid="et"  mode="eager" :rules="{'available': [res_date, startTime, 'ender', selectedField.id] }" v-slot="{ errors }">                        
                                <dropdown id="endtime" :options="endTimeOptions"  v-model="endTime"></dropdown> 
                                <span>{{ errors[0] }}</span>
                            </ValidationProvider>

                        </div>

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Оказывается, проблема была в том, что я использовал свой пользовательский компонент Dropdown, для которого не была установлена ​​v-модель, которая работала с vee-validate. Так что ответ Райли о возвращении обещания был верным.

0 голосов
/ 16 января 2020

Ваша функция проверки должна вернуть обещание, которое выдает ax ios:

    validate(value, {fname, fid } ) {    
        return axios({
        //...
...