RangeValidator не работает должным образом с использованием определенной даты

Когда я пытаюсь указать конкретную дату "20-10-2013" (международный формат: 2013-10-20"), rangevalidator выдает сообщение об ошибке за недопустимую дату

<asp:TextBox ID="txtDataInicial" runat="server" Width="55px"></asp:TextBox>
<asp:RangeValidator ID="rgvDtInicial" runat="server" ControlToValidate="txtDataInicial"
    Display="Static" MinimumValue="01/01/1800" MaximumValue="31/12/9999" Type="Date"
    ErrorMessage="A data inicial, deve ter o seguinte formato: DD/MM/AAAA"
    ValidationGroup="Consultar"></asp:RangeValidator>
<asp:Button ID="btnConsultar" runat="server" Style="width: 150px;" Text="Consultar"
    OnClick="btnConsultar_Click" ValidationGroup="Consultar" />

Он работает для таких дат, как "19-10-2013", "21-10-2013", "20-10-2014", "20-10-2012".

Это просто происходит, когда я отправляю эту дату! Кто-нибудь знает почему?

2 ответа

Даты зависят от культуры. Определите вашу культуру декларативно в web.config или в директиве Page, или программно.

Проверьте это: http://msdn.microsoft.com/en-us/library/bz9tc508(v=vs.100).aspx

  1. Код переднего конца управления Rangevalidator Это виновник ошибки. Убедитесь, что для значения Cultureinvariant установлено значение false.

  2. Убедитесь, что в коде указан правильный минимальный и максимальный диапазон дат.

  3. Это делается для того, чтобы стандартизировать наше сравнение дат с культурой ="en-GB", в которой используется "дд / мм / гггг", независимо от настроек локализации сервера. Вы можете использовать "en-US", и формат будет "мм-дд-гггг".

http://chinteongtan.blogspot.com/2014_04_01_archive.html

Другие вопросы по тегам