将客户端验证失败添加到ASP.. NET MVC模型状态
Adding client side validation failures to ASP.NET MVC ModelState
在HTTP post页面中,我指定了以下div:
<div class="centered" style="text-align:center">
<span class="help-block">
@Html.ValidationSummary(true)
</span>
</div>
我有以下javascript验证:
函数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 errors列表中,而不是将其作为javascript警报,但我不确定在客户端如何做到这一点。我已经尝试过:
if (cvnCheck == false) {
var ul = $(".help-block ul");
ul.append("<li>Security Code must be entered</li>")
}
但是这是不显示的,我怎么能把我的ModelState设置为无效在客户端
var helpBlock = $(".help-block"); helpBlock.append("<div class='"validation-summary-errors'"></div>");
$(".validation-summary-errors").append("<li>" + "Expiry Date Year must be selected" + "</li>");
相关文章:
- 将Javascript数组发送到控制器ASP.NET MVC
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- ASP.NET MVC,在文本框旁边显示文本
- Angular promise return"未定义的“;值.NET MVC
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 使用jquery变量作为.net MVC中ActionLink的参数
- 带有接口的ASP.NET MVC RegisterModel
- OnClick对ActionLink-ASP.NET MVC中的Prevent无效
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 如何在asp.net mvc 3上进行触摸屏操作
- asp.net mvc中的javascript验证不适用于登录表单
- ASP.NET MVC-如何捕获多个复杂的ListBox值并将其保存到数据库中
- ASP.NET MVC路由-动态加载.js脚本
- 如何在asp.net MVC中从View获取值到JavaScript
- 在带有 bootbox 的自定义对话框中添加选项以选择表单控件.js在 ASP.NET MVC 中
- 谷歌将部分页面加载后自动完成不起作用 ASP.Net MVC
- ASP.Net MVC 脚本无法使用控制器的默认操作 URL.使用控制器/操作 URL 也是如此