Temat: ASP.NET MVC2 Validate
Jak wiadomo walidacja danych powinna mieć miejsce w modelu którego będziemy wykorzystywać w wielu miejscach aplikacji, a więc:
public class Person
{
[Required(ErrorMessage = "Name is required")]
[StringLength(50, ErrorMessage = "Name must be under 50 characters")]
public string Name { get; set; }
[Required(ErrorMessage = "Surname is required")]
public string Surname { get; set; }
}
a następnie w controlerze sprawdzamy stan modelu czyli czy podane dane są zgodne z ustawieniami jakie wprowadziliśmy w modelu, czyli, np:
[HttpPost]
public ActionResult Create(Models.Person p)
{
if (!ModelState.IsValid) // sprawdzanie walidacji
{
return View("Create", p);
}
_IServiceProvider.Create(p);
return RedirectToAction("Index");
}
Oczywiście atrybutów walidacyjnych jak wiesz można ustawić więcej, plus oczywiście budowanie atrybutów walidacyjnych na wyłącznie własne potrzeby.