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)