使用 ASP.NET 验证器进行日期验证 [英] Date validation with ASP.NET validator
问题描述
我正在尝试使用 ASP.NET RangeValidator
来验证文本框上的日期.文本框中输入的日期格式为dd MMMM yyyy
.
I'm trying to use an ASP.NET RangeValidator
to validate a date on a textbox. The format of the date entered on the textbox is dd MMMM yyyy
.
如何使用范围验证器来验证有效日期?如果我输入 1 January 1000 作为最小值或最大值,我会收到一条错误消息,指出值无法转换为日期类型,但如果我使用其他格式,它会将我输入的文本视为无效.
How can I use the range validator to validate a valid date? If I enter 1 January 1000 as the min or max value I get an error saying value cannot be converted to type date, but if I use another format it picks up my entered text as invalid.
下面是我的代码:
<asp:TextBox
runat="server"
ID="txtDatecompleted"
/>
<cc2:CalendarExtender
ID="datecompletedExtender"
runat="server"
TargetControlID="txtDatecompleted"
Format="dd MMMM yyyy"
/>
<asp:RangeValidator
runat="server"
ID="RangeValidator1"
Type="Date"
ControlToValidate="txtDatecompleted"
MaximumValue="9999/12/28"
MinimumValue="1000/12/28"
ErrorMessage="enter valid date"
Display="None"
/>
<cc2:ValidatorCalloutExtender
ID="RangeValidator1_ValidatorCalloutExtender"
runat="server"
Enabled="True"
TargetControlID="RangeValidator1">
</cc2:ValidatorCalloutExtender>
推荐答案
最好的选择是
向网络表单添加比较验证器.设置它的 controlToValidate.将其 Type 属性设置为 Date.将其 operator 属性设置为 DataTypeCheck 例如:
Add a compare validator to the web form. Set its controlToValidate. Set its Type property to Date. Set its operator property to DataTypeCheck eg:
<asp:CompareValidator
id="dateValidator" runat="server"
Type="Date"
Operator="DataTypeCheck"
ControlToValidate="txtDatecompleted"
ErrorMessage="Please enter a valid date.">
</asp:CompareValidator>
这篇关于使用 ASP.NET 验证器进行日期验证的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!