2012-10-15 13 views
0

可能重複:
Handle validation failures myself in ASP.NET MVC可以在代碼中觸發MVC的ValidateRequest嗎?

我有一個動作方法,該方法的HTML輸入(可能)。

[ValidateInput(false)] 
[HttpPost] 
public ActionResult Cms(string pageContent) 
{ 
    CmsData = pageContent; 
    return Redirect("/home/cms"); 
} 

所以我不想讓可怕的「有潛在危險的請求...」錯誤崩潰POST。所以我在上面設置了ValidateInput = false

但是,我想然後執行相同的代碼檢查並對其作出反應(例如發佈消息說HTML不被允許)而不是崩潰。

我知道我可以運行某種代碼黑名單檢查,但我寧願不。我寧願讓MVC告訴我,但沒有完全崩潰的頁面,讓我處理錯誤信息。

簡單嗎?可能?

+2

看看這裏: http://stackoverflow.com/questions/9983322/handle-validation-failures-myself-in-asp-net-mvc – motime

回答

1

我想問題是關於動態調用RequestValidator知道該值是否不包含任何html。這不簡單!原因在於RequestValidator的方法RequestValidator,檢查是受保護的內部虛擬,所以你不能只是在外面調用它,但通過創建一個自定義RequestValidator你可能會實現這一點(你可能需要創建一個公共方法,調用受保護的)。

+0

有趣的,謝謝。我想知道是否有一點反思訪問受保護的內部可能只是做伎倆。等着瞧... –

相關問題