我正在增强我们现有的 Web 应用程序,该应用程序将在 EMEA 上使用,我需要在运行时根据用户的全局区域将日期格式从“mm/dd/yyyy”更改为“dd/mm/yyyy”。
我的问题是我所需的验证不接受“dd/mm/yyyy”格式。
<asp:CompareValidator ID="cvDateReportCompleted" runat="server" ErrorMessage="Report Date is not in correct format" ControlToValidate="txtDateReportCompleted" Operator="DataTypeCheck" Type="Date" ValidationGroup="vgMain" Display="None"></asp:CompareValidator>
任何人都可以提供解决此问题的详细信息,asp:CompareValidator
将接受“mm/dd/yyyy”或“dd/mm/yyyy”吗?
最佳答案
在继续之前你必须考虑这一点:
CompareValidator
对于它接受的日期非常特殊。例如,以下日期被视为无效:
2001 年 1 月 1 日
2001 年 1 月 1 日
CompareValidator 需要一个如下所示的日期:
2001年1月1日
2001年1月1日
http://www.informit.com/articles/article.aspx?p=25461&seqNum=5
解决方案:
默认情况下,ASP.Net CompareValidator
不适用于 dd/mm/yyyy
格式,因此我们需要更改 Culture
属性页面的 en-GB
位于 ASP.Net 网页的 @Pagedirective
中,如下所示
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" Culture = "en-GB" %>
关于c# - "dd/mm/yyyy"格式的 CompareValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353496/