我有這樣的視圖模型AllowHtml,HttpRequestValidationException和ModelState中
public class FooBarViewModel
{
public string Foo { get; set; }
[AllowHtml]
public string Bar { get; set; }
}
而是拋出一個HttpRequestValidationException
如果.Foo
與它的HTML提交的,我想一個消息添加到ModelState
。我怎麼能這樣做?
現在可能會工作。我希望利用現有的一些操作過濾器或其他東西,但不知道從哪裏開始。 – kenwarner
@qntmfred,你確實可以使用操作濾波器實現了個IExceptionFilter接口和陷阱HttpRequestValidationException那裏,但問題是,你可以做的是錯誤添加到模型狀態和渲染視圖,但控制器的動作將不會被執行。這意味着如果您決定走這條路線,您還必須注意將視圖模型傳遞給您可能在此自定義操作過濾器內返回的ViewResult。這是說你仍然可以裝點AllowHtml foo的屬性,然後有一個自定義的行爲過濾,檢查... –
...張貼的值是否包含HTML,如果它只需添加一個錯誤模型的狀態。如果必須的話,那當然會避免你在多個控制器動作上重複這個邏輯。 –