0

В пределах страницы HTTP POST Я указанная следующий ДИВ:Добавление неудачи проверки на стороне клиента для ASP.NET MVC ModelState

<div class="centered" style="text-align:center"> 
    <span class="help-block"> 
    @Html.ValidationSummary(true) 
    </span> 
</div> 

У меня есть следующие проверки: яваскрипт

функция Validate() {

 var cardTypeCheck = RealexRemote.validateCardType(document.getElementById('cardType').value); 
     var cardNumberCheck = RealexRemote.validateCardNumber(document.getElementById('cardNumber').value); 
     var cardHolderNameCheck = RealexRemote.validateCardHolderName(document.getElementById('cardholderName').value); 
     var expiryDateMonthCheck = RealexRemote.validateExpiryMonthDateFormat(document.getElementById('expiryDateMM').value); 
     var expiryDateYearCheck = RealexRemote.validateExpiryYearDateFormat(document.getElementById('expiryDateYY').value); 
     var expiryDateFormatCheck = RealexRemote.validateExpiryDateFormat(document.getElementById('expiryDateMM').value.concat(document.getElementById('expiryDateYY').value)); 
     var expiryDatePastCheck = RealexRemote.validateExpiryDateNotInPast(document.getElementById('expiryDateMM').value.concat(document.getElementById('expiryDateYY').value)); 
     if (document.getElementById('cardNumber').value.charAt(0) == "3") { cvnCheck = RealexRemote.validateAmexCvn(document.getElementById('cvn').value); } 
     else { cvnCheck = RealexRemote.validateCvn(document.getElementById('cvn').value); } 
     if (cardNumberCheck == false || cardHolderNameCheck == false || expiryDateYearCheck == false || expiryDateYearCheck == false || expiryDateFormatCheck == false || expiryDatePastCheck == false || cvnCheck == false) { 
      // code here to inform the cardholder of an input error and prevent the form submitting 
      if (cardTypeCheck == false) { alert("Card Type must be selected") } 
      if (cardNumberCheck == false) { alert("Card Number entered is not valid") } 
      if (expiryDateMonthCheck == false) { alert("Expiry Date Month must be selected") } 
      if (expiryDateYearCheck == false) { alert("Expiry Date Year must be selected") } 
      if (expiryDateMonthCheck == true && expiryDateYearCheck == true) 
      { 
       if (expiryDatePastCheck == false) { alert("Expiry Date must not be in the past") } 
      }     
      if (cardHolderNameCheck == false) { alert("Card Holder name must be entered") }     
      if (cvnCheck == false) { } 
      return false; 
     } 
     else 
      return true; 
    } 

Вместо того, чтобы тушить ошибки проверки как предупреждения яваскрипта я хотел бы добавить их в списки ModelState ошибки, но я не уверен в том, как это сделать, когда на кли . Я попытался:

if (cvnCheck == false) { 
    var ul = $(".help-block ul"); 
    ul.append("<li>Security Code must be entered</li>") 
} 

Но это не показывает, как я могу установить мое ModelState недействительным на стороне клиента

+0

Почему вы не используете JQuery проверки плагин вместо написания пользовательской проверки ? – Shyju

+0

Это специальная библиотека для проверки, которая должна использоваться – Jay

+0

var helpBlock = $ (". Help-block"); helpBlock.append ("

"); – Jay

ответ

0
var helpBlock = $(".help-block"); helpBlock.append("<div class=\"validation-summary-errors\"></div>"); 
$(".validation-summary-errors").append("<li>" + "Expiry Date Year must be selected" + "</li>");