2012-03-29 8 views
0

フォームの入力フィールドに特殊文字を置いたときに、私がsubmitを押すと、ASP.NETが検出すると空白のページになります潜在的に悪意のある入力を受け取り、私のイベントログにエラーを投げました。ValidateInput(false)を使用した後にASP.NETの入力検証を呼び出す

私は多くの場合、ユーザーにエラーを返すので、空白のページを取得するだけではありません。だから私はValidateInput(false)を使用して、私のコードの中からバリデーターを呼び出して、応答を送ることができます。 ASP.NET MVCアクションからバリデータを呼び出すにはどうすればよいですか?

答えて

1

以下のように私はあなたの質問で少し混乱していますか?そうなら、ModelState.IsValidプロパティをチェックすることでそれを行うことができます。いずれかの検証が失敗した場合はfalseを返し、エラーメッセージが表示されます。また、必要に応じて、アクションメソッドからカスタムエラーメッセージを指定することもできます。

[HttpPost] 
public ActionResult LogOn(LogOnModel model, string returnUrl) 
{ 
    if (ModelState.IsValid) 
    { 
     //Model validation is successful. Proceed to other stuff 

     //If you want to return some custom error message, do like this 
     ModelState.AddModelError("", "The user name is deactivated"); 

    } 
return View(model); 
} 
0

サーバー側で入力を検証しますか?

クライアント側の検証を使用することができます。モデルプロパティに正規表現属性を追加し、それに素晴らしいエラーメッセージを設定する必要があります。あなたはモデルの検証を行うコードを呼び出す探し.Are

[RegularExpression("your regex", ErrorMessage = @"please check your input .... ")] 
public string MyInput { get; set; } 
関連する問題