0

重複の可能性:
ASP.NET MVC で検証の失敗を自分で処理する

HTML 入力を (潜在的に) 受け取るアクション メソッドがあります。

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

したがって、恐ろしい「潜在的に危険な要求...」エラーで POST がクラッシュすることは望ましくありません。なのでValidateInput = false上に設定しました。

ただし、クラッシュするのではなく、コードで同じチェックを実行してそれに反応したいと思います (HTML が許可されていないというメッセージを投稿するなど)。

ある種のコード ブラック リスト チェックを実行できることはわかっていますが、実行したくありません。MVC に教えてもらいたいのですが、ページを完全にクラッシュさせずに、エラー メッセージを処理させてください。

簡単?可能?

4

1 に答える 1

1

RequestValidator問題は、値にhtmlが含まれていないかどうかを動的に呼び出すことについてだと思います。それは簡単ではない!その理由は、チェックを行うメソッドがIsValidRequestString保護された内部仮想であるため、外部で呼び出すことはできませんが、カスタムを作成することでそれを実現できます(保護されたメソッドを呼び出すパブリックメソッドを作成する必要がある場合があります)。RequestValidatorRequestValidator

于 2012-10-15T14:50:34.327 に答える