Jquery validationEngine 是个不错的验证插件,不过ajax相对坑较多,列举一个简单的ajax的代码示例

$("#form2").validationEngine({
	scroll : false,
	promptPosition : 'topCenter: -80, 0',
	ajaxFormValidation : true,
	ajaxFormValidationURL:"${path}/mp/user/edit.htm",
	ajaxFormValidationMethod:"post",
	onAjaxFormComplete:doEdit,
	onBeforeAjaxFormValidation:readySubmit
});

可以看到表单使用ajax验证,方式是 POST,验证完成提交的方法是 doEdit();
我们在 表单的代码如下:

checkUserName 的 js代码如下:

"checkUserName" : {//判断用户账号是否可用
  'url' : $("#basePath").attr("val")+'/ajaxCheck/checkUserName.htm', /* 验证程序地址 */
  'extraDataDynamic' : ['#uid'], /* 额外参数 */
  'alertText' : '该用户已经存在',
  'alertTextLoad' : '正在验证是否可用'
}

可以看到有个参数“extraDataDynamic”,这个是可以在表单中关联验证的,例如判断账号:因为自己的账号本身就存在,如果这里不做关联判断,是无法提交的,
因为文档大部分参数是“extraData”,直到看了源码才发现这块,以后大家躲一躲吧。

var errorSelector = rules[i + 1];
var rule = options.allrules[errorSelector];
var extraData = rule.extraData;
var extraDataDynamic = rule.extraDataDynamic;