0
我建立具有一种形式,如果一个复选框被选中如下某些元素会隐藏使用Jquery
的应用程序:删除验证使用jQuery/MVC窗体
$('#Rebilled').click(function() {
if ($(this).is(":checked")) {
$('#RebillDate').show();
$('#RebillAmount').show();
$('#TodaysAccountBalance').show();
$('#BalanceAfterRebill').show();
}
else {
$('#RebillDate').hide();
$('#RebillAmount').hide();
$('#TodaysAccountBalance').hide();
$('#BalanceAfterRebill').hide();
}
});
我们同时运行服务器端和客户端 - 对这些字段进行验证,并且我们试图解决验证仍然在未隐藏时需要隐藏字段的问题。
我可以在客户端通过使用jquery
删除验证,但一旦发布到服务器,服务器拒绝它,因为它们是由于被隐藏导致我的ModelState
被隐藏,因为它们是现在还未填写的必需字段无效。
到目前为止我们能够解决这个问题的唯一方法是使用jQuery
再次向该服务器发布的字段添加默认值。例如:
$('#RebillDate').val("01/01/1900")
这是做这件事的正确方法还是我们错过了一些更明显的东西?
使用条件验证属性(可同时适用于客户端和服务器端)。例如[万无一失](http://foolproof.codeplex.com/)'[RequiredIf]',或者您可以轻松编写自己的 - [ASP.NET MVC 3中的验证完整指南 - 第2部分](http: //www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2) –
这是完美的谢谢你,你是否能够添加为一个答案,所以我可以接受它? –
现在没有时间 - 也许以后(或随时添加自己的答案,并接受它将其关闭) –