asp.net控件验证问题
在设计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不合法”,希望前后的显示信息出现在同一个位置,但我不知道怎么实现,希望哪个可以教教我,谢啦。希望你技术分享。嘿嘿。。。
------解决方案--------------------ValidationSummary控件 和你需要在一起显示的验证绑定在一个ValidationGroup里面
坦白说验证控件和Repeater是我最喜欢的服务器控件~
------解决方案--------------------设置前一个验证控件的 Display="Dynamic"
------解决方案--------------------正解