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
Код переднего конца управления Rangevalidator Это виновник ошибки. Убедитесь, что для значения Cultureinvariant установлено значение false.
Убедитесь, что в коде указан правильный минимальный и максимальный диапазон дат.
Это делается для того, чтобы стандартизировать наше сравнение дат с культурой ="en-GB", в которой используется "дд / мм / гггг", независимо от настроек локализации сервера. Вы можете использовать "en-US", и формат будет "мм-дд-гггг".