Merhaba, arkadaşlar!
Önceki dersimizde projelerimizde backend validation işlemini incelemiştik. Şimdi ise frontend tarafta gerçekleştirilen MVC validation işlemini göreceğiz. Temel olarak MVC validation form submit işlemlerinin bir ViewModel aracılığı ile yapılması ve modele bağlanan verilerin ona attribute olarak tanımlanan mvc validasyon kurallarına uygun olup olmadığını denetlemek olarak değerlendirebiliriz.
Şimdi örneğin bir Login işleminin validasyonunu Frontend olarak gerçekleştirelim. İlk olarak LoginViewModel adında sınıfımızı oluşturuyoruz ve kuralları belirliyoruz. Sınıfımız aşağıdaki gibi olmalı.
public class LoginViewModel
{
[Required]
public string Username { get; set; }
[Required]
[StringLength(12, ErrorMessage = "{0} length must be between {2} and {1}.", MinimumLength = 8)]
public string Password { get; set; }
}
Yukarıda Kullanıcı adının ve şifrenin zorunlu olduğunu ve şifrenin 8 ile 12 karakter arasında olması gerektiğini tanımlayan bir kod yazdık. Aşağıda ise login işlemlerinin yapıldığı View dosyasını oluşturuyoruz.
@model LoginViewModel
@using (Html.BeginForm("Login", "Home", FormMethod.Post))
{
@(Html.TextBoxFor(x=>x.Username, new { @class="form-control", @placeholder="Username"}))<br />
@(Html.TextBoxFor(x=>x.Password,new {@type= "password", @class = "form-control", @placeholder = "Password" }))<br />
<button type="submit" class="btn btn-info">Login</button>
}
Son olarak formuzun post edileceği methodu ve bu view yönlendirme kodlarını yazmamız gerekiyor. Controller sınıfına gelip aşağıdaki gibi methodlarımızı ekliyoruz.
public IActionResult Login()
{
return View();
}
[HttpPost]
public IActionResult Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
// do whatever you want, send to backend for login
return View();
}
return BadRequest("Invalid model");
}
Yukarıdaki ilk methodumuzda kullanıcı login sayfasına yönlendiriyor. İkinci methodumuz ise login formunun gittiği action’dır. İkinci methodda ModelState.IsValid kodu ile gelen datanın LoginViewModel sınıfı içerisinde Attribute’lerle tanımlanmış kurallara uygun olup olmadığına bakılıyor. Uygunsa, işlem yapılıyor ve uygun değilse, hata döndürülüyor.
Bu dersimizde de UI taraflı validasyon işlemini gördük. Gelecek dersimizde görüşmek üzere. İyi Kodlamalar!