asp.net比较验证日期星期日

问题描述:

我正在开发与asp.net和c#的Web应用程序。我在我的页面中有一个文本框,它输入一个简单的日期。我用CompareValidator来验证这个文本框,但是当用户输入一个特定的日期时(例如:10/16/2011或10/17/2010或10/18/2009),比较验证器说它是失效日期。有人知道它发生了什么吗?asp.net比较验证日期星期日

我比较验证:

<asp:CompareValidator ID="cvDataProtocolo" runat="server" 
    ControlToValidate="txtDataProtocolo" Display="Dynamic" 
    ErrorMessage="Data Inválida" 
    SetFocusOnError="True" Type="Date" Operator="DataTypeCheck" 
    ValidationGroup="vProtocolo"></asp:CompareValidator> 

编辑-----

是的,我写10/16/2011只是想了解,我的文化是建立于PT-BR(葡萄牙语巴西),而在巴西,我们使用的格式为dd/MM/yyyy,并且CompareValidator的有效格式不适用于16/10/2011(格式为dd/MM/yyyy)。我已经设置好的我的文化,我的网页表单:

protected override void InitializeCulture() { 
    Page.Culture = CultureInfo.GetCultureInfoByIetfLanguageTag("pt-BR").ToString(); 
    Page.UICulture = CultureInfo.GetCultureInfoByIetfLanguageTag("pt-BR").ToString(); 

    System.Threading.Thread.CurrentThread.CurrentCulture = New CultureInfo("pt-BR"); 
    System.Threading.Thread.CurrentThread.CurrentUICulture = New CultureInfo("pt-BR"); 
} 

谢谢

+0

可能是validaror使用不同的日期格式... – 2011-10-17 12:49:39

+0

@Max:但是,这不仅不能少日期价值观,但与所有。 – 2011-10-17 12:52:13

您确保正确设置你的文化,(例如)在英国,10/16/2011指的第10天16个月,这将是一个无效的日期。

在这里看到更多的信息:http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

CompareValidator使用当前线程的CultureInfo的让你的日期格式。如果要使用特定的colture和日期格式,此声明添加到您的网页:

<%@ Page culture="your culture" %>