今天用到了jquery.validationEngine ajax验证,碰到了一个让人很郁闷的问题,在表单提交的时候明明验证不通过,表单仍然可以提交,在网上找了好久都没找到,无意中看了篇博客,终于开窍了。。。原来是源码把ajax验证给略过了不知道为啥。
修改源码jquery.validationEngine.js的地方大概在258到387行
不多说了看代码
*/
_onSubmitEvent: function() {
var form = $(this);
var options = form.data('jqv');
// validate each field (- skip field ajax validation, no necessary since we will perform an ajax form validation)
// 验证每个字段( - 跳过领域Ajax验证,没有必要,因为我们将执行一个Ajax表单验证)
var r=methods._validateFields(form, true);
/*
if (r && options.ajaxFormValidation) {
methods._validateFormWithAjax(form, options);
return false;
}
*/
//这是要修改的地方
if (r && !methods._checkAjaxStatus(options)) {
return false;
}
if(options.onValidationComplete) {
options.onValidationComplete(form, r);
return false;
}
return r;
},
加上ajax的验证所有的异步验证都可以啦。。。哇哈哈哈哈哈。。其实我的好几个项目都用到这个了,以前的版本没问题,自从升级后出现了这个问题这次终于可以一下都改了。。。