[英]CompareValidator to validate two dates
大家好我有以下格式的日期格式dd-MMM-yy
我使用比较验证器验证日期如下
<asp:CompareValidator ID="cmpDates" runat="server" ControlToValidate="StartDate"
SetFocusOnError="true" ControlToCompare="EndDate"
ErrorMessage="EndDate must be greater than StartDate"
Display="None" Operator="DataTypeCheck"
ValidationGroup="vg" Type="Date"
CultureInvariantValues="true">
</asp:CompareValidator>
但这不能按照要求工作,所以有人可以帮助我如何验证所需格式的日期
试试这个,这里我们使用Ajax calander控件以dd / mm / yyyy格式输入,然后使用compare验证器
<asp:TextBox ID="txtStart" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="txtStart_CalendarExtender" runat="server"
Enabled="True" TargetControlID="txtStart">
</cc1:CalendarExtender>
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToCompare="txtEnd" ControlToValidate="txtStart"
ErrorMessage="CompareValidator"></asp:CompareValidator>
</div>
<p>
<asp:TextBox ID="txtEnd" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="txtEnd_CalendarExtender" runat="server"
Enabled="True" TargetControlID="txtEnd">
</cc1:CalendarExtender>
</p>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
像这样重新修改代码
<asp:CompareValidator ID="cmpDates" runat="server" ControlToValidate="StartDate"
SetFocusOnError="true" ControlToCompare="EndDate"
ErrorMessage="EndDate must be greater than StartDate"
Operator="LessThan"
ValidationGroup="vg" Type="Date"
CultureInvariantValues="true"></asp:CompareValidator>
CompareValidator
默认不适用于dd/mm/yyyy
格式,因此您需要在ASP.Net Web Page
的页面指令中将页面的Culture
属性显式更改为en-GB,或者您可以在webconfig
添加它
在页面级别 :
<%@ Page Language="C#"
AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default"
Culture = "en-GB" %>
在Webconfig :
<globalization requestEncoding="utf-8"
responseEncoding="utf-8"
culture="en-GB"
uiCulture="en-GB" />
我已经尝试过这种方法现在这适用于dd-mm-yyyy格式
在web.config文件中
<system.web>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB" /></system.web>
在.aspx页面中更新此内容
添加Culture =“en-GB”
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="filename.aspx.cs" Inherits="<%--your backend code--%>" Culture = "en-GB" %>
现在将CompareValidator添加到比较日期
<asp:CompareValidator ID="CompareValidator1" ValidationGroup = "Date" ForeColor = "Red" runat="server" ControlToValidate = "startdate" ControlToCompare = "enddate" Operator = "LessThan" Type = "Date" ErrorMessage="Start date must be less than End date."></asp:CompareValidator>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.