2011-08-08 11 views
1

フィールドがデフォルトで非表示になり、ユーザーが「追加情報」チェックボックスをチェックした場合にのみ表示されるフォームがあります。 これらのフィールドは、クライアントとサーバーの両方でdataannotation属性(必須、文字列長、一致正規表現など)に対して検証されますが、「追加情報」チェックボックスがオンの場合にのみ有効です。チェックボックスがtrue(ASP.NET-MVC3)の場合にのみフィールドを検証します

これにはデータアノテーションのソリューションが組み込まれていますか?

最高の解決策は、私のビューモデルを変更するだけのものですが、コントローラにカスタムコードを書き込むことで手を汚す必要がある場合は、そのようにしてください。

私はModelState.IsValidのようなものを使用できるようにしたいので、他の方法がない場合は、modelstateを改ざんすることもオプションです。

あなたはこれに適した解決策を提案できますか?

+0

解決策が見つかりましたか?私は同じ疑念を持っている! – ridermansb

+0

いいえ、悲しいことに私はしませんでした。 – SoonDead

+0

フォームパーツを切り替えることができるようにVMを構築する方法を見つけました。フォームをjquery.validation拡張子で再解析する必要があります。私はすぐに私の解決策を掲載するつもりです。 – SoonDead

答えて

0

これは古い質問です。しかし、今日これを行うには良い方法があります:FoolProof。 たとえば、[RequiredIf]という属性です。

+1

Mr. Necromancerにお返事いただきありがとうございます:) – SoonDead

関連する問題