MVC 3 アプリケーションを構築しています。
クライアント側で (JavaScript / jQuery を使用して) 必須ではないフィールドを必須に設定できますか?
ページ内で物事が変化したときに動的にする必要があります。
更新: 私は自分のページのソース コードを表示し、検証ルールがプッシュされている window.mvcClientValidationMetadata 配列を見ました。ニーズに合わせて使用できますか?
ありがとう
MVC 3 アプリケーションを構築しています。
クライアント側で (JavaScript / jQuery を使用して) 必須ではないフィールドを必須に設定できますか?
ページ内で物事が変化したときに動的にする必要があります。
更新: 私は自分のページのソース コードを表示し、検証ルールがプッシュされている window.mvcClientValidationMetadata 配列を見ました。ニーズに合わせて使用できますか?
ありがとう
次のように検証ルールを設定できます。
$('element').rules('add',{
required: true
});
そしてそれを削除します:
$('element').rules('remove', 'required');
または、条件付きで値を必要とするカスタム検証メソッドを追加できます。これを参照してください: http://docs.jquery.com/Plugins/Validation/Validator/addMethod
クライアント側でやりたいことは何でもできます。
フォーム送信イベントに接続して、フィールドが入力されているかどうかを確認し、必要に応じてフォームを送信するか、エラー メッセージを表示することができます。
もちろん、JavaScript がオフになっている場合や、ユーザーがこのフィールドに入力されていないことを十分に認識している場合は、サーバー側で常にチェックしてください ( に加えてModel.IsValid
、特に に追加していないフィールドのチェックを追加できますRequiredAttribute
) 。 .
検証ロジックが複雑な場合の別の代替手段は、オーバーライドModelMetadata
してカスタム検証を提供することです。