在我的ASP.Net应用程序中,我有一个用jQueryUI装饰为Datepicker的文本框。我在文本框上有两个ASP.Net比较验证器。一个是执行DataType检查的比较验证器。第二个是比较验证器,它确保输入的日期晚于指定的日期。
我的问题是,如果用户手动输入日期2/31/11,则会显示两条错误消息,一条用于有效日期比较,另一条用于大于比较。因为输入的日期不是有效的日期,所以我希望显示该错误消息。但是,我不希望显示第二条错误消息。
我的问题是,当用户输入无效的日期时,第二个比较验证器会正确地确定数据是无效的,但我不希望它显示任何内容,因为第一个验证器会覆盖它。有没有办法只使用第一个比较验证器通过的第二个比较验证器?我可以让第二个比较验证器依赖于第一个吗?
发布于 2011-08-12 04:51:43
这个问题是相关的,可能会对你有所帮助:Extending ASP.NET validators
但我建议像在this answer中一样,简单地使用可以验证这两个条件的CustomValidator。
或者使用ValidatorCalloutExtender。该控件仅使第一个ValidatorCalloutExtender可见。
<asp:TextBox ID="TxtDate" runat="server" CausesValidation="true" ValidationGroup="VG_SAVE"></asp:TextBox>
<asp:CompareValidator ID="DateFormat" runat="server" ControlToValidate="TxtDate" Display="None" EnableClientScript="true" ErrorMessage="Enter valid Date" Operator="DataTypeCheck" style="visibility:hidden" Type="Date" ValidationGroup="VG_SAVE">*</asp:CompareValidator>
<asp:ValidatorCalloutExtender ID="DateFormatExtender" runat="server" CloseImageUrl="~/images/close.gif" HighlightCssClass="highlight" TargetControlID="DateFormat" WarningIconImageUrl="~/images/warning.gif" Width="150px" />
https://stackoverflow.com/questions/7032203
复制相似问题