【发布时间】:2010-10-07 07:11:23
【问题描述】:
我正在使用 jQuery 表单插件来提交 AJAX 请求。我正在尝试在提交之前进行一些简单的验证(确保填写了字段)。我没有尝试在提交之前运行任何 AJAX 验证。在我将 beforeSubmit 添加到 ajaxform() 方法的选项之前,表单将提交并且我的控制器代码将运行良好。一旦我添加了带有验证函数名称的 beforeSubmit 选项,无论我从 validate 方法返回 false、true 还是什么都没有,表单都不会提交。这是我设置表单的初始代码:
$(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;
}
}
如果没有遇到错误,我尝试不返回任何内容,但我得到了相同的结果。我能够闯入验证代码并查看函数返回的内容,这总是如预期的那样。我在这里错过了什么吗?
【问题讨论】:
标签: javascript jquery asp.net-mvc ajax