开发者

Custom jquery.validate method always shows invalid

I have a custom validation method that checks for duplicate usernames. The json returns correctly for notDuplicateUsername but the validation always shows up as invalid.

    $('#register-form').validate({

    //see source of http://jquery.bassistance.de/validate/demo/ for example

    rules: {
        schoolname: {
            required: true
        },
        username: {
            required: true,
            notDuplicateUsername: true
        },
        password: {
            required: true
        },
        email: {
            required: true,
            email: true
        }

    },
    messages: {
        schoolname: 'Please tell us where you want to use Word Strip.',
        username: {
            required: 'Please choose a username.',
            notDuplicateUsername: 'Sorry, that username is already being used.'
        },
        password: 'Please choose a password.',
        email: 'Please can we have your email address.'

    }

});

jQuery.validator.addMethod(
    'notDuplicateUsername', 
    function(value, element, params){

        var toCheck = new Object();
        toCheck['username'] = $('#username').val();

        var data_string = $.toJSON(toCheck);//this is a method of the jquery.json plug in

        $.post('check_duplicate_username.php', {username_data: data_string}, function(result){
            var noDuplicate = true;

         开发者_如何学C   var returned_data = $.evalJSON(result);//this is a method of the jquery.json plug in

            if (returned_data.status == 'duplicate'){
                noDuplicate = false;
            }

            console.log('value of noDuplicate: '+noDuplicate);
            return noDuplicate;
        });

    }
);

Any clues anyone?


Probably you might have sorted this out already, but just in case. I faced a similar problem and found that I was comparing wrong types. May be your server sends the status as a boolean or some other datatype and its comparison to a string fails and always returns false.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜