我正在使用VS2005和ASP.net 2以及SQL Server 2005
我想使用asp:CompareValidator验证文本框日期字段,但我希望它验证d / M / yyyy格式(验证器的默认值)和自定义日期格式,如dd MM yyyy甚至dd MMMM YYYY。
是否可以使用CustomValidator?
这是我的代码
<asp:TemplateField HeaderText="Date of Birth" SortExpression="StudentDOB">
<InsertItemTemplate>
<asp:TextBox ID="tbDOB" runat="server" Text='<%# Bind("StudentDOB","{0:d/M/yyyy}") %>'></asp:TextBox>
<asp:ImageButton runat="Server" ID="Image1" ImageUrl="~/images/Calendar_scheduleHS.png" AlternateText="Click to show calendar" CausesValidation="False" />
<ajaxToolkit:CalendarExtender PopupButtonID="Image1" Format="d/M/yyyy" TargetControlID="tbDOB" ID="CalendarExtender1" runat="server"></ajaxToolkit:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvDOB" runat="server" ControlToValidate="tbDOB" ErrorMessage="* required">* Required</asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="tbDOB" Display="Dynamic" ErrorMessage="Invalid Date" Operator="DataTypeCheck" Type="Date" />
</InsertItemTemplate>
<ItemStyle HorizontalAlign="Left" />
<HeaderStyle HorizontalAlign="Left" VerticalAlign="Top" />
</asp:TemplateField>
答案 0 :(得分:1)
您可以使用http://forums.asp.net/t/1480183.aspx?Using+CustomValidator+to+validate+Date+Format+in+dd+MM+yyyy
中定义的asp:RegularExpressionValidator
您唯一能找到的是可以验证多种日期格式的正则表达式。