- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一个ValidationSummary
将显示回发时的错误列表。当每个字段都固定时,它的验证器就会被触发,并且任何验证文本都会消失。我想自动更新ValidationSummary
也是如此。
以下工作正常:
<asp:TextBox ID="ForenameTextBox" onblur="ValidationSummaryOnSubmit()" runat="server" />
但这并不理想,因为这意味着在所有领域都需要更改和维护这一点。 ( ValidationSummaryOnSubmit
是一个 Microsoft 函数。)所以我尝试动态地执行此操作:
addEvent(window, "load", UpdateValidationSummary);
function addEvent(obj, evType, fn) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, true);
} else {
if (obj.attachEvent) {
var r = obj.attachEvent("on" + evType, fn);
return r;
}
}
}
function removeEvent(obj, evType, fn) {
if (obj.removeEventListener) {
obj.removeEventListener(evType, fn, true);
return true;
} else if (obj.detachEvent) {
var r = obj.detachEvent("on" + evType, fn);
return r;
}
}
function UpdateValidationSummary() {
if (typeof (Page_Validators) == "undefined") {
return;
}
var i, val, ctrl;
for (i = 0; i < Page_Validators.length; i++) {
val = Page_Validators[i];
if (val.controltovalidate != null && val.controltovalidate != "") {
ctrl = document.getElementById(val.controltovalidate);
if (ctrl != null && typeof (ValidationSummaryOnSubmit) == "function") {
//add call to ValidationSummary on blur
addEvent(ctrl, "blur", ValidationSummaryOnSubmit);
}
}
}
}
但这不起作用 - 整个 ValidationSummary
当一个字段固定时就会消失,并且 ValidationSummaryOnSubmit
函数似乎被调用了两次。如果我使用简单的分配而不是 addEvent
它可以工作,但我想满足那些可能已经在 onBlur
中发生某些事情的领域事件。
基本上我想我只需要添加对 ValidationSummaryOnSubmit
的调用函数到 onBlur
的“列表”每个控件的处理程序。为什么上面的代码似乎没有做到这一点?
最佳答案
这是一种在所有文本框上获取 onblur 属性的服务器端方法(它也应该与验证组一起使用):
this.Attributes.Add("onblur", string.Format("ValidationSummaryOnSubmit('{0}')", this.ValidationGroup);
<asp:TextBox>
标签仍然有效: <system.web>
<pages>
<tagMapping>
<add tagType="System.Web.UI.WebControls.TextBox"
mappedTagType="MyControls.TextBoxEx"/>
</tagMapping>
</pages>
</system.web>
另一种方法是使用 ControlAdapters添加属性。
相关链接:
Understanding ASP.NET Validation
MSDN - tagMapping Element for pages
关于javascript - 更新控件模糊的 ValidationSummary 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/926527/
我在 razor 组件中有一个简单的表单,其中有一个名为 Name 的输入字段。如果它为空,则会正确显示错误消息,并使用数据注释进行验证。但我也有一个自定义验证,但此消息仅显示在 Validation
我在 razor 组件中有一个简单的表单,其中有一个名为 Name 的输入字段。如果它为空,则会正确显示错误消息,并使用数据注释进行验证。但我也有一个自定义验证,但此消息仅显示在 Validation
这很奇怪。由于某种原因,这失败了: 但这个工作得很好: 有谁知道为什么?这是整个代码片段: Login @**@
我根据用户模型创建了一个登录页面,除了用户名和密码(例如电子邮件地址)之外,用户还有其他必填字段,但我只显示用于登录的用户名和密码。 问题是,如果我将用户名和/或密码留空,ModelState 会收到
如果您在 aspx 页面中使用 CustomValidator 控件和 ValidationSummary 控件进行服务器端验证,您可以设置验证器的 ErrorMessage,它的 Text 值将出现
您好,我正在使用自定义表单字段验证器,似乎自定义验证器正在工作,不允许它继续到下一页,但它不会更新验证摘要,也不会显示星号和我使可见的标签。我在同一字段上还有其他验证器,如 RequiredField
显然 unobtrusive js 和 ModelState 错误不会同时出现。我想要完成的是两件事。当发生 ModelState 或客户端错误时,将由 validation-summary-erro
我无法让自定义错误出现在我的 ValidationSummary 中。 (如预期的那样正确显示属性级错误。) Controller : [HttpPost] public async Task Con
我有一个使用信用卡收费的页面。当我尝试对卡收费时,如果收到错误响应,我想重新显示该页面。 这是我的 Controller 方法: [HttpPost] public ActionResult Char
我有非常简单的输入表单,它有一些验证。我正在使用 INotifyDataErrorInfo 接口(interface)来处理验证。 在表单上我有一个组合框,它绑定(bind)了一个外键(ex Pare
我创建了一个 HtmlHelper 来帮助我显示一个 jQuery 模式对话框:我在 Controller 的 TempData 中设置了一条消息,如果该消息不为空,则助手编写一个 jquery +
一个ValidationSummary将显示回发时的错误列表。当每个字段都固定时,它的验证器就会被触发,并且任何验证文本都会消失。我想自动更新ValidationSummary也是如此。 以下工作正常
每个第一个 ValidationSummary 错误消息出现在右侧,其他出现在左侧。我试图向它添加类,我已经将 css text-align:left 设置为类,但没有任何变化 这里是截图更清楚首先出
我在客户端有一个 ValidationSummary(应该由 asp:LinkButton 调用)检查我的 RequiredFieldValidator 和 CustomValidator :
.NET ValidationSummary 控件聚合来自在回发时触发的验证器的错误消息。有什么方法可以让它也显示来自客户端验证器的错误消息吗? 我正在处理的问题是,在一个长页面上,可以单击提交按钮,
如果两个文本框一次验证失败,则 ValidationSummary 会显示相同的消息两次。 难道我做错了什么?或者是否有我可以更改的设置来隐藏重复的消息? 我把它分解为最简单的例子: 看法: @mod
我有这样的局部 View (简化): @model Portal.Models.LoginModel @using (Html.BeginForm(actionName,
之前曾问过类似的问题( Custom ValidationSummary template Asp.net MVC 3 ),但两个答案都不满足我的额外要求,即该解决方案不会破坏客户端验证。 那么,有谁
我正在用 MVC4 构建一些东西。想要完成这项工作: @if (!Html.ViewData.ModelState.IsValid) { @Html.Validati
我正在开发一个 mvc3 应用程序,我需要修改 ValidatioSummary 消息的样式,为此,我创建了自己的 HTM 助手,如下所示: public static MvcHtmlString M
我是一名优秀的程序员,十分优秀!