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;