0

我在 asp.net 中创建一个自定义文本框控件。我在文本框中为字母、数字、电子邮件地址放置了一些内置验证。现在我想如果这些验证中的任何一个失败,则应在文本框下方动态添加标签(错误标签)。

可能吗 ?

谢谢

4

3 回答 3

0

ValidationSummary 控件也可能对您有用。

MSDN 上的验证摘要

于 2012-07-26T14:04:29.450 回答
0

您不需要单独的标签,Validator可以为 ASP.NET 中的每个标签指定一个合适的标签,该标签ErrorMessage可以出现在文本框旁边。

查看从 继承的验证器列表,这将为您BaseValidator提供执行此操作所需的一切

如果您坚持要使用自己的验证,并且使用客户端 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-26T14:02:45.043 回答
0

不要添加标签,而是添加CustomValidator(或其他验证器之一)。

Display如果您希望它仅在检测到错误时出现,请将其属性设置为动态。

于 2012-07-26T14:01:15.370 回答