1. ホーム
  2. asp.net-mvc

[解決済み] ASP.NET MVCでHTMLを入力できるようにする - ValidateInputまたはAllowHtml

2022-09-01 06:27:52

質問

ASP.net MVCを使用して、ユーザーが特定のフィールドにHTMLを入力できるようにするにはどうすればよいですか。

多くのフィールドを持つ長いフォームがあり、コントローラでこの複雑なオブジェクトにマッピングされます。

私は1つのフィールド(説明)を、後の時点で私自身のサニテーションを行うHTMLを許可するようにしたいと思います。

どのように解決するのですか?

HTMLを許可したいコントローラのアクション(post)に以下の属性を追加します。

[ValidateInput(false)] 

編集します。 による シャルリノ のコメント通りです。

web.configで、使用するバリデーションモードを設定します。 参照 MSDN :

<httpRuntime requestValidationMode="2.0" />

2014年9月編集。 によるものです。 スプリンター252 のコメント通りです。

これで [AllowHtml] 属性を使用する必要があります。以下を参照してください。 MSDN :

<ブロッククオート

ASP.NET MVC 3アプリケーションでは、HTMLをモデルにポストバックする必要がある場合、ValidateInput(false)を使用してRequestInputをオフにしないでください。 を投稿する必要がある場合、ValidateInput(false)を使用してRequest Validationをオフにしないでください。 ValidateInput(false)を使用しないでください。単に、以下のようにモデルプロパティに[AllowHtml]を追加するだけです。

public class BlogEntry {
    public int UserId {get;set;}
    [AllowHtml] 
    public string BlogText {get;set;}
 }