我正在asp.net中创建一个自定义的textbox控件。我把一些内置的验证在文本框中的字母,数字,电子邮件地址。现在,我希望如果这些验证中的任何一个失败,都应该在文本框下面动态添加一个标签(一个错误标签)。
有可能吗?
谢谢
发布于 2012-07-26 22:01:15
不要添加标签,而要添加CustomValidator (或其他验证器之一)。
如果希望仅在检测到错误时显示,请将其Display属性设置为dynamic。
发布于 2012-07-26 22:02:45
您不需要单独的标签,ASP.NET中的每个Validator都可以被赋予一个适当的ErrorMessage,它可以出现在文本框旁边。
我有一个从BaseValidator继承的look at the list of validators,它将为您提供执行此操作所需的一切
如果您坚持要使用自己的验证,并且正在使用客户端JavaScript进行验证,那么可以创建类似以下内容的内容...
<asp:Label runat="server" id="lblErrors" style="display:none;">
You have errors!
</asp:Label>然后在你的验证器中。
document.getElementById("<%=lblErrors.ClientID%>").style.display =
(anyErrors ? "" : "none");如果您的验证都是在服务器上完成的,那么可以使用类似于...
<asp:Label runat="server" id="lblErrors" Visible="false">
You have errors!
</asp:Label>然后在你的验证器中。
lblErrors.Visible = anyErrors(如果没有进行验证,您还需要确保lblErrors.Visible也设置为false )
发布于 2012-07-26 22:04:29
也许ValidationSummary控件对你也很有用。
ValidationSummary on MSDN
https://stackoverflow.com/questions/11670946
复制相似问题