2014-03-05 45 views
0

我的mvc web應用程序表單上有一個郵政編碼查找器,它是可選的。如果我沒有得到一個郵政編碼匹配,我用自己的自定義錯誤消息來追加.validation-summary-errors。一旦錯誤得到糾正,我將刪除.validation-summary-errors中的類郵編的所有實例,並應用隱藏方法。問題是,當提交表單時,隱藏validation-summary-errors div會禁用驗證彈出窗口以顯示其他表單錯誤。在.hide()上禁用模型驗證摘要錯誤警報框

我的javascript代碼

$("#AddressFinder").click(function() { 

var postcode = $("#Address_Postcode").val(); 
$(".postcode-error").remove(); 
$(".validation-summary-errors").hide(); 

if (!postcode) { 
    $(".validation-summary-errors ul").append("<li class='postcode-error'>Please include a postcode to search.</li>"); 
    $(".validation-summary-errors").show(); 
} 
else { 
    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     contentType: "application/json", 
     url: "/Postcode/GetAddress", 
     data: "{ 'postcode':'" + postcode + "' }", 
     success: function (data) { 
      if ($.isEmptyObject(data)) { 
       $(".validation-summary-errors").append("<li class='postcode-error'>There are no addresses matching your postcode</li>"); 
       $(".validation-summary-errors").show(); 
      } 
      else { 
       vm.addresses(data); 
       addressList.show(); 

      } 
     } 
    }); 
} 
}); 

如何隱藏沒有它valiidation-彙總錯誤DIV提交表單控制器時禁用?

回答

0

管理解決我的問題。你不假設使用hide()或show()。只需添加或刪除validation-summary-validation。

$("#AddressFinder").click(function() { 

var postcode = $("#Address_Postcode").val(); 

if (!postcode) { 
    $(".validation-summary-errors ul").append("<li class='postcode-error'>Please include a postcode to search.</li>"); 
    $(".validation-summary-errors").removeClass("validation-summary-valid"); 
} 
else { 
    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     contentType: "application/json", 
     url: "/Postcode/GetAddress", 
     data: "{ 'postcode':'" + postcode + "' }", 
     success: function (data) { 
      if ($.isEmptyObject(data)) { 
       $(".validation-summary-errors").append("<li class='postcode-error'>There are no addresses matching your postcode</li>"); 
       $(".validation-summary-errors").removeClass("validation-summary-valid"); 

      } 
      else { 
       vm.addresses(data); 
       addressList.show(); 
       $(".postcode-error").remove(); 
       $(".validation-summary-errors").addClass("validation-summary-valid"); 
      } 
     } 
    }); 
} 
}); 

這樣,您仍然可以在提交表單時獲得模型驗證信息。