Я действительно пытался не задавать этот вопрос. Я видел довольно много сообщений на SO об этом плагине, но они все еще не совсем поняли его для меня. Сейчас у меня есть новая форма регистрации учетной записи, и я пытаюсь написать собственный метод для проверки уникального имени пользователя. Я хотел бы думать, что следующее должно работать:
$.validator.addMethod(
"uniqueUsername",
function(value, element) {
$.post(
"http://" + location.host + "/scripts/ajax/check_username.php",
{
username: value
},
function(response) {
if(response == 'true') {
return true;
} else {
return false;
}
}
);
},
"This username is already taken."
);
К сожалению, похоже, что плагин движется независимо от функции обратного вызова. Я нашел, что кто-то предлагает сделать что-то вроде следующего:
var result = false;
$.validator.addMethod(
"uniqueUsername",
function(value, element) {
$.post(
"http://" + location.host + "/scripts/ajax/check_username.php",
{
username: value
},
function(response) {
if(response == 'true') {
result = true;
} else {
result = false;
}
}
);
return result;
},
"This username is already taken."
);
Но, похоже, есть задержка, поскольку она сохраняет значение, а затем при следующем событии будет установлено любое значение. Что вы, ребята, рекомендуете?