2012-01-07 10 views
0

MVC3でウィザードデモアプリケーションを構築しており、剃刀ビューエンジンを初期レベルとして使用しています。MVCのRazor Viewでの検証に関する問題

&のjavascriptによる制御を非表示にすると、検証に問題が発生しました。

いくつかの条件私はここで検証を処理するにはどうすればよい

// attach nextStep button handler  
     $("#next-step").click(function() { 

      var $step = $(".wizard-step:visible"); // get current step 

      //check if URL2 is having any content   
      var val = $("#URL2").val(); 
      if (val == "") { 
       $("#CheckName2").hide(); 
       //want to remove validation here 

      } 
      else { 

       $("#CheckName2").show(); 
       //want to add validation here 

      } 
var validator = $("form").validate(); // obtain validator 
     var anyError = false; 
     $step.find("input").each(function() { 


      if (!validator.element(this)) { // validate every input element inside this step 

       anyError = true; 
      } 


     }); 

     if (anyError) 
      return false; // exit if any error found 

に&ショーを隠し、

<div class="editor-field"> 
       @Html.EditorFor(model => model.CheckName2) 
       @Html.ValidationMessageFor(model => model.CheckName2) 
      </div> 

以下のとおり私のjavascript関数以下のとおりに私のコードのセクションを見てください?

ありがとうございます。

答えて

1

$( "#IdOfFormYouEdit")でフォームの強制検証を行います。または$( "#IdOfTextbox")。validate(); 1つの要素のみを検証します。

これは、ビューモデルクラスに検証属性を設定した場合に可能です。そうしないと、data-val属性を追加して要素にバリデーションを追加できます。例:

<input type="text" data-val="true" data-val-number="The field someField must be a number." data-val-required="SourceId required" /> 
+0

私は問題のJavaScriptのコードをform.validationセクションで更新しています –