隐藏ASP.Net ValidationSummary中的冗余错误消息
我有一个asp.net页面接受两个输入值 – 名称和地址。 它们都是必填字段。 我使用了必填字段validation器和validation摘要。
如果错误消息是多余的,如果用户未同时输入两个值,则会触发错误消息两次。 即使存在两个错误,我也只需要显示一条错误消息。
- 我们如何使用jQuery处理它?
- 我们如何使用ASP.Net标记来处理它?
注意 :我最初认为validation控件将在页面加载时发出HTML,这样我就可以使用“查看源代码”并对HTML元素执行jQuery。 但事实并非如此。 它只呈现如下
结果
ASP.Net标记
这有点hackish,但它会工作:
添加以下Javascript函数:
function submitValidate() { var isValid = Page_ClientValidate(''); if (!isValid) { setTimeout("$('#vsumAll ul li:not(:first)').remove()", 5); } return isValid; }
在提交按钮中添加以下内容:
最后,请确保您的ValidationSummary
上有ClientIDMode="Static"
说明 :
它使用JQuery删除ValidationSummary中除第一个li
所有li
– 它实际上是一个UnorderedList(例如ul
)。
我把它放在一个5ms的setTimeout
因为我们希望它只在ValidationSummary完成将所有项添加到ul
。
只有在Page_ClientValidate
失败时才会运行代码 – 这是执行ClientSidevalidation的函数。