Я использую плагин jQuery Form для отправки запросов AJAX. Я пытаюсь сделать несколько простых проверок (убедитесь, что поля заполнены) перед отправкой. Я не пытаюсь выполнить какую-либо проверку AJAX перед отправкой. Прежде чем я добавлю beforeSubmit к параметрам метода ajaxform (), форма отправит и мой код контроллера будет работать нормально. После того, как я добавил параметр beforeSubmit с именем функции проверки, форма не будет отправлять, возвращаю ли я false, true или ничего из метода validate. Вот мой исходный код, который устанавливает форму:
$(document).ready(function() {
var options = {
beforeSubmit: function(data, form, options) { return validate(data, form, options); },
url: '/PromoManagement/Images/AddImages?partial=true',
success: updateImageList
};
$('#frmAddImages').ajaxForm(options);
});
и вот моя функция проверки:
function validate(data, form, options) {
var returnMessage = new Array();
$('#txtImagePath,#txtImageCaption').removeClass('validationError-input');
clearValidation();
if ($('#txtImagePath').val().length == 0) {
returnMessage.push('<li>Image Path is required</li>');
$('#txtImagePath').addClass('validationError-input');
}
else {
if (!parseFileExtension($('#txtImagePath').val())) {
returnMessage.push('<li>Please provide an image with an extension of .jpg, .gif, or .png</li>');
$('#txtImagePath').addClass('validationError-input');
}
}
if (returnMessage.length > 0) {
$('.errorList').show();
}
if (returnMessage.length != 0) {
buildValidationList(returnMessage);
return false;
}
else {
return true;
}
}
Я пытался ничего не возвращать, если не было ошибок, но я получаю те же результаты. Я могу взломать код проверки и посмотреть, что возвращается из функции, и это всегда, как и ожидалось. Я что-то здесь упускаю?