2、配置都正确,就是无法调用onBeforeAjaxFormValidation对应的回调函数和提交表单。
原因:没有触发表单的提交事件。
$(function(){
// 初始化验证引擎
$('#yourform').validationEngine('attach', {
'promptPosition':'inline', // 使提示条display:inline,使之在input元素后面或下面显示。
'addPromptClass': 'formError-text', // 只显示红色的错误提示文字,不显示背景色
'validateNonVisibleFields':true, // 验证type=hidden的表单元素
'ajaxFormValidation': true, // ajax方式提交表单
'ajaxFormValidationMethod': 'POST', // 提交方式
'ajaxFormValidationURL': '/addOrder', // 接收数据的URL
'onBeforeAjaxFormValidation': function(form, options) { // ajax提交表单前的回调函数
// 可以自己找弹出遮罩层来显示,或者做一些逻辑处理,return false则会阻止表单提交,提交表单一定要return true。
return true;
},
'onAjaxFormComplete': function(status, form, json, options) { // ajax提交表单成功的回调函数,并返回json数据
// 根据响应结果做逻辑处理
alert('表单提交成功!');
}
});
//提交表单
$('#btn-submit').click(function(){
$('#yourform').submit();
});
});
1、明明正则表达式写的很正确,却依然表单字段验证不通过。
原因:我们给正则表达式加上了双引号或单引号。
"phone":{
"regex" : /^[0-9]{11}$/, // 正则表达式是不需要加双引号或单引号的
"alertText" : "* 无效的手机号码"
}