Вы можете использовать атрибут [AllowHtml]
:
[AllowHtml]
[RegularExpression (@"^[^<>]*$", ErrorMessage = "You have entered html... Html is not a valid input!" )]
public string SomePropertyThatShouldNotAcceptHtml { get; set; }
Очевидно, что перед сохранением в базе данных вы должны убедиться, что содержимое безопасно:
[HttpPost]
public ActionResult Save(MyViewModel model)
{
if (!ModelState.IsValid)
{
// the model is invalid => redisplay view
return View(model);
}
// the model passed validation => store in the database
...
return RedirectToAction("Success");
}
И если вы боитесьВ XSS вы можете использовать библиотеку AntiXSS , которая отфильтровывает все опасные сценарии из HTML.Вы даже можете написать пользовательский механизм связывания модели, который будет выполнять этот шаг и автоматически назначать этому свойству только безопасное значение HTML .