ValidateInput Attribute ile Doğrulama

ASP.NET MVC default olarak action  gönderilen parametreyi, doğrulama filtrelerinden geçirir. Gönderdiğimiz parametrelerde özel karakterler yoksa (html karakterleri gibi),  işleme devam eder.

Aşağıdaki gibi WYSIWYG bir editor kullandığınızda, başlık bölümü düz metin olur. 

Ama detay alanımızda çoğunlukla  Summernote gibi javascript editörleri kullanırız. Bu tarz editörler, işlemlere bağlı olarak (pre,img,span gibi) html kodları üretir.

Biz de aldığımız html kodlarını veritabanında kaydederiz. Ama html kodlarımızı action metoduna gönderdiğimizde İstemcide ... zararlı olabilecek bir değer Request.Form algılandı. hatası alırız,
Hata aynen şöyledir.

Veriyi kaydettiğimiz Action metoda bakalım;
[HttpPost]
public ActionResult Index(string baslik, string kategori, string detay)
 {
   MakaleDbEntities veri = new MakaleDbEntities();
   MakaleTablo makale = new MakaleTablo();
   makale.Mbaslik = baslik;
   makale.Mkategori = kategori;
   makale.Mdetay = detay;
   veri.MakaleTablo.Add(makale);
   veri.SaveChanges();
   return View("Index");
 }
Bu metoda aşağıdaki ifadeyi eklemeniz yeterlidir.
[HttpPost]
[ValidateInput(false)]
public ActionResult Index(string baslik, string kategori, string detay)
 {
  MakaleDbEntities veri = new MakaleDbEntities();
  MakaleTablo makale = new MakaleTablo();
  makale.Mbaslik = baslik;
  makale.Mkategori = kategori;
  makale.Mdetay = detay;
  veri.MakaleTablo.Add(makale);
  veri.SaveChanges();
  return View("Index");
}



Etiketler
Editor WYSIWYG Request Form
Alper ÖZ | Tarih : 23.05.2020

Bu güzel içerikler için teşekkür ediyorum. Saygılar Hocam.

Mesaj Yaz