В вашем описании нет ничего, что предполагало бы проблему.Я создал новое приложение ASP.NET MVC 3 с использованием шаблона по умолчанию, добавил модель:
public class MyViewModel
{
[Required(ErrorMessage = "Email required!")]
[Remote("EmailExists", "Home", ErrorMessage = "Email already")]
public string Email { get; set; }
}
обновил HomeController
:
public class HomeController: Controller
{
public ActionResult Index()
{
return View(new MyViewModel());
}
[HttpPost]
public ActionResult Index(MyViewModel model)
{
return View(model);
}
public ActionResult EmailExists(string Email)
{
return Json(
!Email.Equals("teste@gmail.com"),
JsonRequestBehavior.AllowGet
);
}
}
и ~/Views/Home/Index.cshtml
view:
@model AppName.Models.MyViewModel
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.validate.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/scripts/jquery.validate.unobtrusive.min.js")"></script>
@using (Html.BeginForm())
{
@Html.LabelFor(x => x.Email)
@Html.TextBoxFor(x => x.Email)
@Html.ValidationMessageFor(x => x.Email)
<input type="submit" value="OK" />
}
Проверка запускается нормально и отображаются правильные сообщения об ошибках (протестировано с Chrome 10.0, IE9 и FireFox 4.0).Итак, теперь вопрос в том, чем ваш сценарий отличается от этого?