MVC 3 には、DataAnnotations と、クライアント側で検証するためのカスタム検証があります。しかし、Jquery または Javascript を使用して、独自の検証を .js ファイルに書き込むことができます。つまり、script タグと type=text/javascript を使用します。では、MVC3 のどちらを使用する必要がありますか?
2 に答える
MVC のデータ注釈は、クライアント側で jquery 検証を使用します。ポイントは、1 つの方法を使用して検証を行い、それがサーバーとクライアントの両方で機能することです。
悪意のある攻撃者が JavaScript をバイパスして不正な値を送信する可能性があるため、クライアント側の検証のみを実行する必要はありません。クライアント側の検証はユーザーにとっては良いことですが、サーバー側の検証なしでは絶対に使用しないでください。
MVC は両方のデータ注釈を処理するため、1 か所で処理するだけで済みます。
Mystere Man が指摘したように、クライアント側とサーバー側の両方の検証を行うため、MVC のデータ注釈を使用してください。
あなたの質問は少しあいまいですが、Mystere Man へのコメントに基づいて、検証メッセージを自分で変更する方法を知りたいと思いますか? もしそうなら、次@Html.ValidationSummary()
のようなメッセージでオーバーロードできます
@Html.ValidationSummary(false, "My error message")
モデルでは、次のような属性を使用して、モデルごとにカスタム メッセージを設定できます。
[Required(ErrorMessage = "Please enter your name, this will not be displayed to others.")]
public string Name { get; set; }
チェックボックスをオンにする必要があるなどのカスタム検証を作成することもできます ([Required]
属性はbool
必須であるという意味ではないtrue
ため)。