1

大家好,我正在尝试使用验证插件实现一些用户名检查表单。

所以我试过这个,但这不起作用。

rules: {
    username: {
      minlength: 4,
      required: {
        depends: function(element){
            $.get('/assets/system/ajax/username_check.php', {username:element.value}, function(data){
                if(data==1){
                  return true;
                } else {
                  return false; 
            }
         });
       }
    },
 }, ...

我想要做的是需要用户名输入,但如果用户名不可用,请不要验证它。

小提琴:http: //jsfiddle.net/A29LE/

4

1 回答 1

0

您需要添加验证器方法才能使其正常工作。

验证器方法:

$.validator.addMethod("checkUsername", 
    function(value, element) {
        var result = false;
        $.ajax({
            type:"GET",
            async: false,
            url: "/assets/system/ajax/username_check.php",
            data: {username: value},
            success: function(data) {
                result = (data == "1") ? true : false;
            }
        });
        return result;
    }, 
    "Username Already Exists."
);

修改你的规则:

    rules: {
        "username": {
            minlength: 4,
            required: true,
            checkUsername: true
        },
    }

希望这会有所帮助。

有关 addMethod 的更多信息:http: //jqueryvalidation.org

于 2013-07-20T13:37:10.613 回答