2012-03-23 14 views
2

起こらない作ることができるか、検証を取得します。私は、ユーザーが別のドロップダウンリストで選択したどのような値に応じて、無効になります2つのDropDownListとフォームが、私はここで、このためのjQueryを使用しましたてきたMVC&jqueryの検証:無効Dropdownlistsは、それは私が最初にMVC3、EFモデルを使用しています

はコードです:

$(function() { 
    $('#SubjectTypeName').change(function() { 
     var value = $(this).val(); 
     if (value == '2') { 
      $('#TeamName, #ConsultantName').removeAttr('disabled'); 
     } else if (value == '3') { 
      $('#TeamName').attr('disabled', 'disabled'); 
      $('#ConsultantName').attr('disabled', 'disabled'); 
     } else if (value == '4') { 
      $('#TeamName').attr('disabled', 'disabled'); 
      $('#ConsultantName').attr('disabled', 'disabled'); 
     } 

     $(".questionsForSubjectType").hide(); 
     $("#questionsForSubjectType_" + value).show(); 
    }); 

}) 

しかし、DropDownListコントロールは無効になっています次のページをクリックすると、無効なDropDownListsは、私が持っているMVC標準のJquery検証によって検証されます。私はこの検証のために私のViewModelの自分のプロパティで[必須]を宣言して検証を行った。どのように私は私の無効DropDownlistsの検証を防ぐが、それでも彼らは事前に

感謝を有効にしている場合DropDownListsが検証されますことを確認することができます!

+0

DDLを無効にすると、DDLを無効にしたときにそのプロパティを「検証用に無効にする」または「検証用にのみ使用する」に設定します。サーバー側のロジックは、それを使用しないことを知っている必要があります。問題を再現するためにサンプルhttp://blogs.msdn.com/b/rickandy/archive/2012/01/09/cascasding-dropdownlist-in-asp-net-mvc.aspxを変更できますか?その後、シンプルなプロジェクトを投稿し、より洗練されたソローを求めます。 – RickAndMSFT

+0

こんにちはリック、私は解決策を見つけました、私は帰ってきたときに投稿します。私は単にフォームとifステートメントが "無効"を検証しないことを検証するJquery関数を作成しました。あなたはそれを解決するこの不正な方法を見ていますか? – Obsivus

答えて

0

ですか?おそらくこれを削除すると、その場合に役立ちます。

また、ユーザー入力に基づいて、部分ビューへの移入を検討することができます。

+0

代わりに[RequiredIf]を使用していただきありがとうございます。 – Obsivus

0

MVCの検証がクライアント側またはサーバー側で発生していますか? dropdown_Aが使用されたかどうかをチェックでき、サーバ側で 、ModelState.Remove("dropdown_B");は、あなたのModelState.IsValid trueになります。ドロップダウンがセットのためにあるフィールド上[Required]属性が

+0

サーバー側ですが、削除する場合は、ドロップダウンリストが無効の場合にのみ削除してください。 n – Obsivus

関連する問題