Как сказал Серхио, вы можете использовать это, например, в регистрационной форме, где у вас есть такие поля, как:
Username
E-mail
Password
Repeat Password
Вы можете настроить некоторый javascript для проверки формы перед тем, как пользователь отправит ее, или, что еще лучше, не включайте форму отправки, пока все обязательные поля не будут заполнены, избегая разочарования пользователя (вы конкретно указываете ему, где находится ошибка, как исправить это) и добавить к нему еще один уровень проверки.
В этом случае вы можете предварительно проверить Username
и E-mail
на сервере, чтобы убедиться, что они еще не приняты. Вы можете сделать что-то вроде этого (в jQuery, из памяти):
$("#email").change(function(e) {
var $elem = $(this);
var val = $elem.val();
if (!val) {
myMarkField($elem, "not-valid");
myValidateForm("myForm");
} else if (!/^[a-z0-9_+.-]+\@([a-z0-9-]+\.)+[a-z0-9]{2,7}$/i.test(val)) {
myMarkField($elem, "not-valid");
myValidateForm("myForm");
} else {
$.getJSON("isEmailAvailable.php", {email:val}, function(result){
if (result.available) {
myMarkField($elem, "valid");
myValidateForm("myForm");
} else {
myMarkField($elem, "not-valid");
myValidateForm("myForm");
}
});
}
});
Где isEmailAvailable.php
должен возвращать что-то вроде { available: true }