Я использую .net 4 с MVC 2 и аннотации для проверки.Я создал собственный атрибут validationAttribute, чтобы проверить, существует ли электронное письмо в моей базе данных.Функция c # ismailexisting () возвращает правильное значение, но JavaScript не работает правильно.Javascript / jquery-часть выглядит так:
Sys.Mvc.ValidatorRegistry.validators["isexisting"] = function (rule) {
return function (value, context) {
$.ajax({
url: "/persons/ismailexisting",
type: "POST",
data: { email: value },
success: function (data) {
//alert("success: " + data);
if (data == "yes") {
return false;
}
}
})
return true;
return rule.ErrorMessage;
};
};
Если электронная почта уже существует, функция ismailexisting () возвращает «yes», в противном случае «no».Если электронное письмо существует (поэтому данные «да»), javascript должен препятствовать тому, чтобы пользователь продолжал, потому что он должен ввести другое электронное письмо.Если я раскомментирую alert (), значение данных будет правильным.Но что-то мешает javascript предоставить правильный результат на мой взгляд.
Все остальные вещи для пользовательской проверки реализованы правильно, потому что я уже реализовал несколько других пользовательских проверок.
Заранее спасибо!