MVC projemizde bazen çalışmış olduğumuz class içerisinde 1’den fazla validation kontrolü olabilmekte ama arama gibi sayfalarda ihtiyaç duyulan genellikle tek alandır bizde bu makalemizde tek alan için yapılabilecek validation kontrolünü göreceğiz.
MVC ile programlama tarafında tek alan için validation kontrolü
Alttaki örnek validation sınıfımızın olduğunu varsayalım.
1 2 3 4 5 6 7 8 9 10 11 | public class NewsValidation { [Required] [Display(Name = "Ad")] public string Name { get; set; } [Required] [Display(Name = "Kategori")] public int CatId { get; set; } [Display(Name = "Onay Durumu")] public bool Approve { get; set; } } |
Örnek olarak arama sayfasında Name alanını kullanacağız fakat Model.IsValid doğrulaması yapıldığında CadId alanıda Required attribut’ü ile zorunlu tutulduğu için bu alan içinde giriş yapılması istenecek. bu durumu aşmak için alttaki gibi bir kod işinizi görecektir.
1 2 3 4 5 6 7 8 9 | [HttpPost] public ActionResult Search(Category cat) { if (!ModelState.IsValidField("Name")) { return View(cat); } return RedirectToAction("Index"); } |
!ModelState.IsValidField(“Name”) kodu ile demek istediğimiz Name alanı eğer doğrulamayı geçmediyse bize gönderilen sonucu geri gönder kullanıcıya taki Name alanına doğrulamada belirtilen doğru değeri girene kadar.