asp.net控件验证问题

华山论剑 2012-05-12 10:55:12
在设计asp.net程序时,有时需要对某个输入控件使用多个验证控件,例如:对输入文本框控件进行“RequiredFieldValidator”和“RegularExpressionValidator”验证,我使用如下实例进行练习:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
输入Email:<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="请输入Email" ControlToValidate="txtEmail"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ErrorMessage="输入Email不合法" ControlToValidate="txtEmail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<br />
<asp:Button ID="Button1" runat="server" Text="提交" />
</div>
</form>
</body>
</html>

但是这样有一个缺点,就是验证不通过时,两个验证控件的错误信息不在同一个位置显示,感觉这样很不好,我想让两个验证控件的错误信息出现在同一个位置,如:上述中,当Email输入文本框控件在没有输入任何内容时,就单击提交按钮,就显示“请输入Email”,当Email输入文本框控件的Email的输入不合法是,就显示“输入Email不合法”,希望前后的显示信息出现在同一个位置,但我不知道怎么实现,希望哪个可以教教我,谢啦。希望你技术分享。嘿嘿。。。
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
习惯就好 2012-05-13
  • 打赏
  • 举报
回复
正解

[Quote=引用 2 楼 的回复:]
设置前一个验证控件的 Display="Dynamic"
[/Quote]
xboxeer 2012-05-12
  • 打赏
  • 举报
回复
囧 代码看错 应该是上面的做法~
dalmeeme 2012-05-12
  • 打赏
  • 举报
回复
当然你两个都设也是可以的。
dalmeeme 2012-05-12
  • 打赏
  • 举报
回复
设置前一个验证控件的 Display="Dynamic"
xboxeer 2012-05-12
  • 打赏
  • 举报
回复
ValidationSummary控件 和你需要在一起显示的验证绑定在一个ValidationGroup里面
坦白说验证控件和Repeater是我最喜欢的服务器控件~

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧