9

ASP.NET MVC 2検証が機能しない理由を追跡しようとしていますが、これを実行するためにどのように機能するかについては十分にわかりません。

私はDavidHaydenによるこの有用な記事の手順に従いました。これは、現在出回っている最高のドキュメントのようですが、実際には何も起こりません。

サーバーに送信すると検証が行われます(モデルにデータ注釈を追加したプレビュー1以降と同じように)が、クライアント側の検証は取得されません。

トレースしてテストするにはどうすればよいですか?これまでのところ、私は次の明らかなことを確認しました

  • MicrosoftMvcJQueryValidation.jsおよびjquery.validate.min.jsファイルがダウンロードされています
  • Html.ClientValidationEnabled = true

何がどのイベントに接続しているのかを簡単に理解して、デバッグ方法を理解することはできません。

4

2 に答える 2

3

フィールドをクライアント側で検証するには、ビュー内でフィールドの Html.ValidationMessage/Html.ValidationMessageFor<> への呼び出しを指定する必要があります (リンクしたチュートリアルで David が行ったように)。これは基本的に、そのフィールドの検証を実行するクライアント側の検証ロジックへのトリガーです。

各フィールドの検証メッセージを実際に視覚的に表示するのではなく (つまり、Html.ValidationMessage を使用して)、概要を検証エラー メッセージの唯一のソースとして許可したい場合 (つまり、Html.ValidationMessage を使用して)。 ValidationSummary)、必要な特定のフィールドに対して検証を「トリガー」する何らかの方法が必要です。これは、ビュー内で Html.Validate/Html.ValidateFor<> メソッドを使用して実現できます。これらのヘルパーは何もレンダリングしませんが、指定されたフィールドをクライアント側の検証用に登録するだけです。

クライアント側の検証でモデルオブジェクトのすべてのプロパティを自動的に検証したくない場合があるため、これらの要件は両方とも存在します。それらのいくつかは、検証したいフォームの一部でさえない可能性があるためです。

于 2009-10-18T03:13:57.200 に答える