Ответ 1
Поскольку вся ненавязчивая проверка клиента из MVC 3 полагается на и мне не хочется помещать свойство ConfirmPassword на моем модель, что мне делать?
Полностью согласен с тобой. Вот почему вы должны использовать модели просмотра. Затем в вашей модели просмотра (класс, специально разработанный для требований данного представления) вы можете использовать атрибут [Compare]
:
public class RegisterViewModel
{
[Required]
public string Username { get; set; }
[Required]
public string Password { get; set; }
[Compare("Password", ErrorMessage = "Confirm password doesn't match, Type again !")]
public string ConfirmPassword { get; set; }
}
а затем выполните действия вашего контроллера с этой моделью просмотра
[HttpPost]
public ActionResult Register(RegisterViewModel model)
{
if (!ModelState.IsValid)
{
return View(model);
}
// TODO: Map the view model to a domain model and pass to a repository
// Personally I use and like AutoMapper very much (http://automapper.codeplex.com)
return RedirectToAction("Success");
}