jquery验证插件远程查询-错误/失败处理



我在用户配置文件编辑表单上使用jquery验证插件。我使用"远程"功能查询我的网站并检查电子邮件的唯一性,效果很好。我的问题是如何处理错误或失败,这似乎没有很好的记录。我想要的行为是,如果JSON查询失败或超时,忘记验证的这一部分,允许用户提交并由服务器端验证来处理。

我可以看到有一个error属性,看起来你可以添加一个函数在该场景中运行,但在超时/错误/失败的情况下,我会在那里放什么来关闭验证规则?

remote: {
                url: location.pathname + "/EmailUnique",
                timeout: 20000,
                data: {
                    userID: function() {
                        return $("#Form_EditProfileForm_userID").val();
                    }
                }
            }

是的,添加一个错误函数:

remote: {
    //your normal $.ajax stuff here
    ,
    error: function(jqXHR, textStatus, errorThrown) {
       //deal with the error
    }
}

所有这些参数都被传递给一个普通的jQueryajax调用,因此通过指定一个error函数,您可以处理发生的任何事情。

假设您已将验证对象保存在变量v中,则错误函数可能如下所示:

$('#inputWithRemote').rules('remove','remote');.
v.pendingRequest--;

老实说,v.pendingRequest的业务是处理我称之为验证插件中的错误——它在启动ajax请求时会增加pendingRequest计数器,但没有自己的代码来处理响应中的错误。

请在此处查看其实际操作:http://jsfiddle.net/ryleyb/H96TD/(注意,我已经将超时设置为2秒,并使用了一些jsfiddle的特殊ajax代码来强制响应花费3秒)。

相关内容

  • 没有找到相关文章

最新更新