2011-12-07 2 views
0

System.ComponentModel.DataAnnotations.RequiredAttributeを使用して、特定のモデルプロパティが必要であることを示しています。MVC3/jQueryの邪魔にならない検証でクライアント側の検証メッセージを表示しないようにするにはどうすればよいですか?

必要な検証属性をローリングしないで、Html.ValidationSummary()を介してサーバー側でトリガーされたときにも、クライアント側で検証メッセージを表示させないようにすることは非常に簡単ですか?私はまだバリデーションを行い、入力要素をハイライトしたいが、この特定のRequired属性には "xyzField is Required"というメッセージを表示したくない。

このモデルプロパティの他のすべてのValidationAttributesに対して操作可能なままにするには、ValidationMessageForが必要です。これは、抑制したいものだけです。

私の推論はこうです:私は近くにいくつかの小さなフィールドを持っています、そして、必要なメッセージは過労であり、忙しいです。特に、「必須」が最も頻繁な犯罪者であることを考えると、フィールドが空白で、しかも必須であることは間違いありません(必要なシンボルがあり、空のままにしておくとハイライトが赤色になります)。

アイデア?私はカスタムバリデーターが難しくないことを知っています - 私はすでにそれらのいくつかを持っていますが、私はあなたが気づいていないこの動作を制御する方法があるかどうかを知りたいと思います。

答えて

0

あなたが好きなヘルパーのために、すべての検証メッセージを取る必要があります。

@Html.ValidationMessageFor(m => m.UserName) 

そして、フォームの上部に検証要約ヘルパーを残す:

@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") 

あなたが掲示しなければなりませんより具体的な回答が必要な場合は、コードを入力してください。

モデルにエラーメッセージを入力しない場合はどうですか? - 多分私は明らかにそれを説明しなかったが、私は、他の検証は、私は必要があるため、同じモデルプロパティに属性を持っているValidation outside model

+0

感謝を:たとえばそれは[Required]または[Required(ErrorMessage="")]

はこの記事を参照してくださいだろう属性あなたの必要にValidationMessageForので、完全に削除するオプションはありません。 –

+0

答えを編集してリンクを追加しました。 –

+0

モデルにエラーメッセージを空白のままにしておくことができますが、検証メッセージにエラーメッセージを表示する必要があります。あなたは知っている...私のケーキを持って、それも食べてください:) –

関連する問題