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)