• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja remote dla jquery validator

Cloud VPS
0 głosów
213 wizyt
pytanie zadane 3 lipca 2017 w JavaScript przez Jonki Dyskutant (8,180 p.)
edycja 3 lipca 2017 przez Jonki

Posiadam sobie taki piekny kod

document.addEventListener('DOMContentLoaded', function () {
    var inputUsername = document.querySelector('#username');

    inputUsername.addEventListener('blur', checkUsername);

    function checkUsername() {
        console.log("Event");
        $.ajax({
            type: 'GET',
            url: '/checkUsername?',
            data: 'username=' + encodeURIComponent(inputUsername.value),
            success: function(result) {
                if(result === true) {
                    $('.form-username').removeClass('has-success').addClass('has-warning');
                } else {
                    $('.form-username').removeClass('has-warning').addClass('has-success');
                }
            }
        });
    }

    $('#registrationForm').validate({
        rules: {
            username: {
                nowhitespace: true,
                required: true,
                minlength: 6,
                maxlength: 36
            },
            email: {
                nowhitespace: true,
                required: true,
                email: true
            },
            password: {
                nowhitespace: true,
                required: true,
                minlength: 6,
                maxlength: 36
            },
            passwordAgain: {
                required: true,
                equalTo: '#password'
            }
        }
    });

    $.validator.addMethod( "nowhitespace", function( value, element ) {
        return this.optional( element ) || /^\S+$/i.test( value );
    }, "Please no enter white space" );
});

gdzie ta czesc

$.ajax({
            type: 'GET',
            url: '/checkUsername?',
            data: 'username=' + encodeURIComponent(inputUsername.value),
            success: function(result) {
                if(result === true) {
                    $('.form-username').removeClass('has-success').addClass('has-warning');
                } else {
                    $('.form-username').removeClass('has-warning').addClass('has-success');
                }
            }
        });

uzywam do sprawdzania, czy istnieje na serwerze podany username. Chcialem zrobic dodatkowa walidacje w samym js, ale znalazlem cos takiego sybszego jak walidacja w jquery i dodalem kod

$('#registrationForm').validate({
        rules: {
            username: {
                nowhitespace: true,
                required: true,
                minlength: 6,
                maxlength: 36
            },
            email: {
                nowhitespace: true,
                required: true,
                email: true
            },
            password: {
                nowhitespace: true,
                required: true,
                minlength: 6,
                maxlength: 36
            },
            passwordAgain: {
                required: true,
                equalTo: '#password'
            }
        }
    });

aby zwalidowac sobie formularz. Jednak mam pewnien problem z metoda tej walidacji, ktora polaczy sie z baza danych w taki sam sposob jak ajax i sprawdzi czy username istnieje.

Znalazlem taka wlasciwosc jak https://jqueryvalidation.org/remote-method/

remote

ktora wlasnie sluzy do tego typu operacji, lecz nie wiem w jaki sposob ja wykorzystac. Nie wiem jak wywolac podany url i przeslac tam zmienna. To w ajax dziala bez problemu, ale przy kombinowaniu przy jquery validator nie moge wykombinowac jak uzyc wlasciwosci 'remote'. Nie wiem co dodac miedzy nawiasy w 'remote'

remote: {
}

Moglby ktos pomoc?

(Przepraszam za brak polskich znakow, ale przebywam za granica)

1 odpowiedź

0 głosów
odpowiedź 4 lipca 2017 przez Jedras Maniak (54,860 p.)
Co prawda serwer nie w PHP, ale ogólnie pokazana zasada jak używać remote.

https://www.youtube.com/watch?v=EwTr2BwtZmQ

Podobne pytania

0 głosów
1 odpowiedź 314 wizyt
0 głosów
1 odpowiedź 233 wizyt
pytanie zadane 20 lutego 2017 w JavaScript przez Alex.Ironside Stary wyjadacz (14,920 p.)
0 głosów
1 odpowiedź 196 wizyt

93,467 zapytań

142,460 odpowiedzi

322,734 komentarzy

62,847 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...