我正在使用VS2005与 ASP.net 2和SQL Server 2005
我想使用 asp:CompareValidator 来验证文本框日期字段,但我希望它同时验证 d/M/yyyy 格式(验证器的默认值)和自定义日期格式,如 dd MM yyyy 甚至 dd MMMM yyyy。
是否可以使用自定义验证器?
这是我的代码
<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>
您可以使用
http://forums.asp.net/t/1480183.aspx?Using+CustomValidator+to+validate+Date+Format+in+dd+MM+yyyy 中定义的asp:RegularExpressionValidator
您唯一找到的是可以验证多种日期格式的正则表达式。