验证输入之前的jQuery验证插件和ajax帖子

时间:2013-07-20 12:32:39

标签: jquery validation

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

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

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/

1 个答案:

答案 0 :(得分: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