フォーム フィールドの「<」文字を正規表現バリデーターでインターセプトしたいと考えています。3 つのステップで問題を説明します。
ステップ 1 : 「<」文字を含むフィールドを含むフォームを送信しようとすると、「潜在的に危険なリクエスト...」というメッセージが表示されます - ASP.NET で予想されるとおりです。
ステップ 2 : ASP.NET の RequestValidation を回避するために、コントローラーの Update メソッドを "[ValidateInput(false)]" で装飾します。
期待どおりに動作します。エラーなしで「<」文字を投稿できるようになりました。
ステップ 3 : DataAnnotations で xVal を使用します。たとえば、[Required] または [StringLength(255)] は期待どおりに機能します。
しかし、 [RegularExpression ("^[^<>]*$", ErrorMessage = "Special characters are not allowed.")]を使用すると、[ValidateInput (false)] ディレクティブ。
何が起こっていますか?正規表現検証のためのより簡単な方法はありますが、[ValidateInput(false)] が配置されていますか? もちろん、コントローラーではなくモデルに検証コードを入れたいと思います。