Asp.net 输入有效数据时,Html.ValidationSummary不会显示
我正在做一个使用aspnetmvc3、非结构化javascript和Razor的项目 我对Ajax.BeginForm有一个局部视图,其中包含如下字段:Asp.net 输入有效数据时,Html.ValidationSummary不会显示,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-ajax,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Ajax,我正在做一个使用aspnetmvc3、非结构化javascript和Razor的项目 我对Ajax.BeginForm有一个局部视图,其中包含如下字段: @Html.TextBoxFor(model => model.FirstName, new { @class = "txt-input", placeholder = "Eg. First Name", maxlength = 50 }) @Html.ValidationMessageFor(model => model.Firs
@Html.TextBoxFor(model => model.FirstName, new { @class = "txt-input", placeholder = "Eg. First Name", maxlength = 50 })
@Html.ValidationMessageFor(model => model.FirstName, "*", new { @class = "form-comments redtxt" })
在表格的末尾,我有这样一句话:
@Html.ValidationSummary(false, "Please complete the required fields", new { @class = "form-comments redtxt" })
当我没有输入值时,它会在文本框附近正确显示*,请填写验证摘要中的必填字段。
问题是,当我输入正确的值时,只有*消失,请填写必填字段
我需要将此添加到css中,以便在第一次加载空间视图时不显示*或请填写必填字段
.validation-summary-valid
{
display: none;
}
.field-validation-valid
{
display: none;
}
输入有效数据时,如何使验证摘要不可见
提前谢谢!吉列尔莫。至于它为什么还在显示,我不知道 但一个快速解决方法是在@Html.ValidationSummary周围放置一个if块,并检查模型是否有效
@ if(!ViewContext.ViewData.ModelState.IsValid){
@Html.ValidationSummary(false, "Please complete the required fields", new { @class = "form-comments redtxt" })
}
我通常将验证摘要放在对话框中,如果Page.IsValid为true,我就不显示对话框div
-更新这里是一个我知道有效的代码片段
@{ if(!ViewContext.ViewData.ModelState.IsValid){
<div id="errors" class="DisplayErrors">
@Html.ValidationSummary()
</div>
}}
<script type="text/javascript">
$(function () {
$(".Date").datepicker();
$(".button").button();
$(".DisplayErrors").dialog({ autoOpen: true, title:"Errors" });
});
</script>
据我所知,你的问题,你可以使用下面的书面代码。这只是一个黑客
<script>
jQuery(function () {
jQuery('form')
.find('input')
.bind('keyup', function () {
var _summary = jQuery('.form-comments');
if ($(this).valid()) {
_summary.hide();
}
else {
_summary.show();
}
})
});
</script>
奇怪,上面写着接线员无法应用于已更新答案类型的操作数,必须选中ModelState而不是Page,客户端是什么意思?在视图上?或者在一篇ajax帖子之后?我用一些我知道有效的东西更新了答案,关于你为什么没有出现,不知道嗨,鲍勃,谢谢你的回复。这个对话框做什么?我是说,这是一个jQuery对话框,不是吗?如果是这样的话,我就不能使用它了,因为业务需要。撇开JQuery不谈,我只是从一个我知道有效的项目中抓取了一段代码片段,如果删除脚本tagHi Praveen,它仍然有效,您的代码的问题是,表单中有多个文本框,如果有多个文本框出现错误,并且我开始通过填充值来修复这些文本框,那么当并非所有文本框都具有有效值时,可以隐藏摘要。这一切是在客户端发生的,还是在视图发回服务器时仍会发生?您是否启用了客户端验证?它似乎位于客户端。我确实启用了客户端验证。