c# - "dd/mm/yyyy"格式的 CompareValidator

标签 c# asp.net date globalization requiredfieldvalidator

我正在增强我们现有的 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" %>

Live demo

关于c# - "dd/mm/yyyy"格式的 CompareValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14353496/

相关文章:

c# - 是否可以在不引用类的情况下引用静态类中的方法?

ASP.Net 状态服务内存不足,windbg 中未找到大型 session

asp.net - CSS 引用问题

date - 忽略星期六和星期日

c# - 派生类可以隐藏访问器-下面的代码有什么问题

c# - Paypal 教程缺少引用资料?

c# 正则表达式问题 : only letters, 数字和一个点(2 到 20 个字符)允许

c# - Web API + HttpClient : An asynchronous module or handler completed while an asynchronous operation was still pending

charts - 使用带有日期的谷歌折线图的正确方法是什么

Javascript时间和日期按时区时差变化