11 Haziran 2015 Perşembe

Asp.Net MVC Unvalidate Form Data , [AllowHtml] and [ValidateInput(false)]

Asp.Net Mvc projesinde formdan gelen html data normalde asp.net'in kendi güvenlik validasyonuna takılır. Bunu aşabilmek için ilgili parametre veya parametrelere [AllowHtml] eklenir. Veya gelen isteğin validasyonunu devre dışı bırakmak için Unvalidated() methodu kullanılır.

Asp.Net Mvc projesinde istek olarak gelen  istek (Request) bilgisinin validasyonunu devre dışı bırakmak için aşağıdaki örnek kod kullanılması yeterli olacaktır:

public ActionResult SampleMethod(SampleModel formData)
        {
             FormCollection requestForm = new FormCollection(Request.Unvalidated().Form); 

Formdan gelen bilgiler artık requestForm  nesnesi içindedir.

Bunun yerine formdan gelen sadece bir veya birden fazla belirli parametrelerin kontrolünü devre dışı bırakmak için ilgili modelde parametreye [AllowHtml] attribut sınıfı eklemeniz yeterli olacaktır.
 
public class SampleModel
    {
        [AllowHtml]
        public string Detail { get; set; }
    }


Gelen istek veya form bilgisini ayrıca methodun başına  [ValidateInput(false)] attribut eklememiz yeterli olacaktır.
 
[ValidateInput(false)]
public ActionResult SampleMethod(SampleModel formData)
        {

        }

Hiç yorum yok:

Yorum Gönder