jquery.validationEngine 验证 AJAX 不起作用解决办法

使用ajax时 返回必须是json形式:
json名字可以随意,但[0]位置 必须是验证的控件id,[1]位置是是否成功




使用ajax时 一直处于等待验证状态,验证不起作用:




原因是因为内置json接收方式不对,所以 我们需要修改js文件代码



打开 jquery.validationEngine.js 文件

搜索 "$.ajax" 找到第二个 $.ajax

找到 success 回调处理函数

jsonValidateReturn就是你ajax处理返回的json数据的名字


success: function(json) {
// asynchronously called on success, data is the json answer from the server
var errorFieldId = json[0]; //修改这里 json[0] 修改成json.jsonValidateReturn[0]
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $($("input[id='" + errorFieldId +"']")[0]);

// make sure we found the element
if (errorField.length == 1) {
var status = json[1]; //修改这里 json[1] 修改成json.jsonValidateReturn[1]
// read the optional msg from the server
var msg = json[2]; //修改这里 json[2] 修改成json.jsonValidateReturn[2] 我们并没有返回消息 所以这里是null
if (!status) {
// Houston we got a problem - display an red prompt
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;

// resolve the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertText;
if (txt) {
msg = txt;
}
}
}
else
msg = rule.alertText;

methods._showPrompt(errorField, msg, "", true, options);
} else {
if (options.ajaxValidCache[errorFieldId] !== undefined)
options.ajaxValidCache[errorFieldId] = true;

// resolves the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertTextOk;
if (txt) {
msg = txt;
}
}
}
else
msg = rule.alertTextOk;

// see if we should display a green prompt
if (msg)
methods._showPrompt(errorField, msg, "pass", true, options);
else
methods._closePrompt(errorField);
}
}
errorField.trigger("jqv.field.result", [errorField, options.isError, msg]);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值