【发布时间】:2012-10-26 07:25:18
【问题描述】:
我在aspx页面中有如下代码:
<TABLE id="tblGeneratedTo" cellspacing="0" cellpadding="0" width="100%" align="left" border="0" runat="server">
<TR>
<td width="20%" align="left"><FONT face="Verdana" size="2"><strong>To:</strong></FONT> </TD>
<td width="80%">
<asp:textbox id="txtGeneratedTo" runat="server" CssClass="ptinput" MaxLength="10" Width="90px"></asp:textbox>
<A onclick="window.open('../calPopUp.aspx?textbox=txtGeneratedTo','cal','width=230,height=190,left=400,top=200')"
href="javascript:;"> <IMG src="../images/SmallCalendar.gif" border="0"></A> <FONT class="fontbody">
(mm/dd/yyyy)</FONT>
</TD>
</TR>
<tr>
<td colspan="2" align="right">
<asp:RegularExpressionValidator ID="Regularexpressionvalidator4" runat="server" CssClass="fontbody"
Display="Dynamic" ErrorMessage="*Date should be in (mm/dd/yyyy) format."
ValidationExpression="^([\d]{1,2}/[\d]{1,2}/[\d]{4})$"
ControlToValidate="txtGeneratedTo"></asp:RegularExpressionValidator>
<asp:CompareValidator ID="CompareValidator6" runat="server" CssClass="fontbody"
Display="Dynamic" ErrorMessage="'End' date cannot fall before 'Start' date."
ControlToValidate="txtGeneratedTo" Type="Date" Operator="GreaterThanEqual"
ControlToCompare="txtGeneratedFrom"></asp:CompareValidator>
</td>
</tr>
</TABLE>
收件人:
(月/日/年)
在这里,我有一个文本框和两个验证控件,即。当我在文本框中输入一些垃圾值时,正则表达式并在实际页面上进行比较我一次看到两条消息:
我想一次只看到一条消息。如果满足正则表达式验证器,则最好显示 comparevalidator 消息,否则仅显示正则表达式验证器。
如何做到这一点?如果我们可以仅从 MarkUp 而不是代码隐藏为此做一些事情,那将很容易。
【问题讨论】:
-
当你有一个日期选择器时,为什么你允许在文本框中输入?设置为只读,格式错误消失了
-
@karthi 有些客户有时也会要求这样做
-
也许使用验证摘要将错误保留在同一个地方
标签: c# asp.net validation