我正在尝试使用Sijax的JQuery Validation插件检查其用户名是否有效。这意味着我使用Sijax(Ajax,Python)在服务器上验证用户是否已经存在。我将此方法添加到Validation插件:
$.validator.addMethod("availableName", function(value, element) {
var check = true;
var username = $("#username").val();
Sijax.request('checkuser', [username]);
if (usercheck) {
check = false;
usercheck = false;
}
return check },
"That username is no longer available");
服务器上的checkuser方法检查用户名的可用性并更改usercheck变量的值。我检查了firebug和方法usercheck(它调用另一个javascript方法来更改用户检查)确实发送了正确的响应但是它可能会跳过其他行吗?
我现在遇到的问题是用户名字段的验证仅在我对焦并模糊两次时才会发生。其他每个字段都可以正常工作。 这意味着,例如,如果用户名“Jon”已经存在,则会发生这种情况:
即使我在重新聚焦后更改了不存在的用户名(例如,更改为Jon1234),仍然会显示“此用户名已存在”。所以我认为这意味着该领域落后一步,但我不知道为什么。
提前致谢!