Проверка имени пользователя JQuery - PullRequest
2 голосов
/ 20 апреля 2011

У кого-нибудь есть рабочий пример проверки имени пользователя с использованием проверки jquery и метода добавления jquery?

Примерно так:

$("#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;
},"");

Я искал по всему Google несколько днейи я заметил несколько таких потоков, которые остаются без ответа или не решены с большим количеством просмотров.Так что, если кто-то может предоставить ссылку или решение, я уверен, что многие новички JQuery выиграют и будут рады.:)

Эй, ребята, большое спасибо за вашу помощь.Хотя мне удалось найти то, что я искал.

«Пример молока»?В самом деле?Он существует?

- Да, сын мой, он существует, и он потрясающий: http://jquery.bassistance.de/validate/demo/milk/

Ответы [ 2 ]

1 голос
/ 20 апреля 2011

Я думаю, что ваша проблема в том, что метод успеха не вызывается ко времени вашего возвращения. Вы можете изменить свой код так:

jQuery.validator.addMethod("usernameCheck", function(username) {
    var result = $.ajax({
        url: "username_availability.php",
        data: {username: username},
        async: false,
        type: "POST"
    }).responseText;
    return result === '1';
},"");
0 голосов
/ 20 апреля 2011

Используйте тип remote вместо создания своего собственного.

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

Он передаст параметр username=foo на вашу страницу username_availability.php.Верните true или false с этой страницы.

...