Правило для установки поля как недопустимого в форме, когда запрос ajax возвращает ошибку - PullRequest
0 голосов
/ 31 января 2020

У меня есть форма, в которой есть поле для IP, эта форма использует проверку jquery.

Я хочу, чтобы это поле было недействительным, когда запрос к серверу, использующему этот IP, истек или вызывает ошибку, означающую, что IP-адрес не подходит.

На данный момент у меня есть:

remote: function(value) {
    console.log(value);
    $.ajax({
        url: 'http://' + $('#input_ip') + ':8888/api/ping',
        type: 'POST',
        dataType: 'json',
        success: function(response) {
            console.log('OK');
        },
        error: function(response) {
            console.log('error');
        }
        timeout: 400
    })
}

В настоящий момент кажется, что удаленное условие on делает недействительным поле в случае успеха с возвратом с ложным значением.

Есть ли способ вернуть ложь, что делает поле недействительным, передаваемое оператором ошибки?

1 Ответ

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

Вы можете использовать Promise

remote: function(value) {
    return new Promise((res,rej) => {
        console.log(value);
        $.ajax({
            url: 'http://' + $('#input_ip') + ':8888/api/ping',
            type: 'POST',
            dataType: 'json',
            success: res,
            error: rej,
            timeout: 400
        })
    })
}

И затем вы можете вызвать его так:

.remote().then(() => {/* do something on success */}).catch(() => {/* do something on failure */})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...