У меня есть форма, и я пытаюсь выполнить дистанционную проверку синтаксического анализа в одном из полей, однако при проверке формы форма отправляется до того, как она ждет ответа от удаленная функция (через asyncValidate()). Таким образом, даже если поле недействительно, оно покажет полевую ошибку css, но форма все еще отправляется.Parsley Validation не ждет удаленной проверки AsyncValidate, чтобы закончить
Я пробовал использовать объект $ .Deferrede, но это не работает.
function add_remote_validation() {
var form = card.el.find('form');
$(form).parsley().addAsyncValidator('validate_function', function (xhr) {
return parseInt(xhr.responseText);
});
}
add_remote_validation();
card.cards['my_card1'].on('validate', function(card){
add_remote_validation();
var result = $.Deferred();
// test any asyncronous validation before doing regular validation
$(form).parsley().asyncValidate()
.done(function(){
var valid = $(form).parsley().validate();
if(valid) {
result.resolveWith(valid);
} else {
result.rejectWith(valid);
}
})
.fail(function(){
result.rejectWith(false);
});
});
Вы правы, я не использую последнюю версию ... Я использовал обходной путь в моем контроллере (структура MVC), так что я не пытаюсь выполнить проверку через jQuery. Тем не менее, я буду отмечать этот ответ как правильный. – user3228515