Nic*_*las 65 asp.net validation
我正在尝试使用ASP.NET RangeValidator
来验证文本框上的日期.在文本框中输入的日期格式为dd MMMM yyyy
.
如何使用范围验证器验证有效日期?如果我输入1000年1月1日作为最小值或最大值,我会收到错误,指出值无法转换为类型日期,但如果我使用其他格式,则会将输入的文本作为无效值.
以下是我的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
Sho*_*ban 128
最好的选择是
将比较验证器添加到Web表单.设置其controlToValidate.将其Type属性设置为Date.将其运算符属性设置为DataTypeCheck,例如:
<asp:CompareValidator
id="dateValidator" runat="server"
Type="Date"
Operator="DataTypeCheck"
ControlToValidate="txtDatecompleted"
ErrorMessage="Please enter a valid date.">
</asp:CompareValidator>
Run Code Online (Sandbox Code Playgroud)
Chr*_*tal 28
CustomValidator也可以在这里工作:
<asp:CustomValidator runat="server"
ID="valDateRange"
ControlToValidate="txtDatecompleted"
onservervalidate="valDateRange_ServerValidate"
ErrorMessage="enter valid date" />
Run Code Online (Sandbox Code Playgroud)
代码隐藏:
protected void valDateRange_ServerValidate(object source, ServerValidateEventArgs args)
{
DateTime minDate = DateTime.Parse("1000/12/28");
DateTime maxDate = DateTime.Parse("9999/12/28");
DateTime dt;
args.IsValid = (DateTime.TryParse(args.Value, out dt)
&& dt <= maxDate
&& dt >= minDate);
}
Run Code Online (Sandbox Code Playgroud)
小智 8
我认为以下是最简单的方法.
<asp:TextBox ID="DateControl" runat="server" Visible="False"></asp:TextBox>
<asp:RangeValidator ID ="rvDate" runat ="server" ControlToValidate="DateControl" ErrorMessage="Invalid Date" Type="Date" MinimumValue="01/01/1900" MaximumValue="01/01/2100" Display="Dynamic"></asp:RangeValidator>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
158843 次 |
最近记录: |