JQuery用户名验证

时间:2011-04-20 16:01:02

标签: php jquery validation jquery-validate username

有没有人使用jquery验证和jquery addmethod有一个用户名检查器的工作示例?

这样的事情:

$("#register_form").validate({
    onkeyup:false,
    rules: {
        username: {
            required: true,
            minlength: 3,
            usernameCheck: true    // remote check for duplicate username
        },
});

jQuery.validator.addMethod("usernameCheck", function(username) {
    var isSuccess = false;
    $.ajax({
        url: "username_availability.php",
        data: "username=" + username,
        async: false,
        type: "POST",
        success:
        function(msg) {
            isSuccess = parseInt(msg);
        }
    });
    return isSuccess;
},"");

我已经在谷歌上看了好几天了,而且我注意到这样的一些线程没有得到答复或没有解决,因为观看次数很高。因此,如果有人可以提供链接或解决方案,我相信很多JQuery新手会受益并且很高兴。 :)

  嘿伙计们,非常感谢你们所有人   救命。我设法找到了我的样子   寻找虽然。

     

“牛奶的例子”?真?它存在吗?

     

- 是的,我的儿子,它存在并且它很棒:   http://jquery.bassistance.de/validate/demo/milk/

2 个答案:

答案 0 :(得分:1)

我认为你的问题是你返回时没有调用成功方法。您可以将代码更改为:

jQuery.validator.addMethod("usernameCheck", function(username) {
    var result = $.ajax({
        url: "username_availability.php",
        data: {username: username},
        async: false,
        type: "POST"
    }).responseText;
    return result === '1';
},"");

答案 1 :(得分:0)

使用remote类型而不是自己编写。

$("#register_form").validate({
    onkeyup:false,
    rules: {
        username: {
            required: true,
            minlength: 3,
            remote:'username_availability.php'
        },
});

它会将username=foo的参数传递到您的username_availability.php页面。从该页面返回true或false。