Как проверить поле с помощью пользовательского правила в vee-validate версии 3 - PullRequest
0 голосов
/ 09 января 2020

Я хочу проверить наличие имени пользователя в базе данных, запрашивающей API. Код, связанный с правилом, оценивающим поле:

extend('exists', value => {
     apiService.checkUsername(value)
        .then(response => {
            response.data[0].username == value?true:false;
    })
        .catch(response => alert(response.message));
}, {
    immediate: false
}) 

Моя проблема: сообщение об ошибке отображается перед ответом API. Я хочу показать это после ответа. Есть идеи?

1 Ответ

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

Верните обещание из вашей функции проверки - тогда vee-validate будет ждать, пока оно не завершится, прежде чем делать что-либо еще. Я не мог найти ссылку на это, но я думаю, что это должно работать.

extend('exists', value => {
     return apiService.checkUsername(value)
        .then(response =>
            response.data[0].username == value?true:false;
        )
        .catch(response => alert(response.message));
})
...