0

この質問は、ここ StackOverflow で何度も尋ねられていますが、私のニーズに対応するものは何もありません。サーバー側のデータ注釈を使用して、クライアント側、つまり jQuery の検証を条件付きで実行したいと考えています。

つまり、ユーザーが DropDownList から「その他」を選択した場合に呼び出される結合テキスト フィールドOtherが必須となる、一般的なドロップ ダウン モデルを構築しようとしています。ドロップダウン モデル プロパティの属性を使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

0

はい、これは可能です。検証属性などの多くの優れた追加機能を備えたMVCFoolproofフレームワークをご覧ください。[RequiredIf]また、クライアント側の検証でも機能します。

これを実装する方法の詳細に興味がある場合は、それらの属性のソースコードを見ることができます。しかし、それはかなりの作業です。IClientValidatable属性でインターフェースをオーバーライドしてから、クライアント側で目立たないカスタムアダプターを作成する必要があります。

そのような実装の例を書きましたhere。条件付き検証は扱っていませんが、手法はまったく同じです。クライアント側のアダプタをニーズに合わせて調整する必要があります。

于 2013-01-03T09:21:09.927 に答える
0

以下のような多くのRequiredIf実装があります。

http://blogs.msdn.com/b/stuartleeks/archive/2011/10/06/flexible-conditional-validation-with-asp-net-mvc-3.aspx

もう1つのオプションは、FluentValidationです。これは、属性ベースの検証ではありませんが、非常に柔軟です。

于 2013-01-03T09:22:33.883 に答える