Rangevalidator для записей расширений календаря дает проблемы в сафари - PullRequest
0 голосов
/ 24 марта 2010

У меня есть следующий сценарий:

даты прибытия и отъезда должны быть выбраны в форме, через 2 текстовых поля с расширением календаря каждое.

Я проверяю записи, чтобы проверить, что нетДата до сегодняшнего дня выбирается и для проверки того, что вылет после прибытия.Я использовал rangevalidator и comparevalidator.

В IE, Firefox и Opera он работает нормально, в Safari (на окнах), однако оба валидатора отключаются даже для записей, которые должны быть приняты.

Это заставляет меня подозревать, что формат даты dd / MM / yyyy создает проблемы для Safari.

(dd / MMMM / yyyy также вызывал те же проблемы в других браузерах, вероятно, из-за зависимости от UIculture)

Код:

<tr>
    <td>
        <asp:TextBox ID="txtArrive" runat="server"></asp:TextBox>
        <cc1:TextBoxWatermarkExtender ID="txtArriveWatermarkExt" runat="server" 
            Enabled="True" TargetControlID="txtArrive" WatermarkText="arrival date">
        </cc1:TextBoxWatermarkExtender>
        <cc1:CalendarExtender ID="ArriveCalendarExt" runat="server" 
            CssClass="MyCalendar" Enabled="True" Format="dd/MM/yyyy" 
            TargetControlID="txtArrive">
        </cc1:CalendarExtender>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
            ControlToValidate="txtArrive" ErrorMessage="please select arrival date" 
            Text="*" ValidationGroup="date" Display="none"></asp:RequiredFieldValidator>
        <asp:RangeValidator ID="RangeValidator1" runat="server" 
            ErrorMessage="please make sure that your arrival date is later than today and not later than a year from now" 
            ControlToValidate="txtArrive" Type="Date" ValidationGroup="date" Text="*"></asp:RangeValidator>
    </td>
    <td>
        <asp:TextBox ID="txtDepart" runat="server"></asp:TextBox>
        <cc1:TextBoxWatermarkExtender ID="txtDepartWatermarkExt" runat="server" 
            Enabled="True" TargetControlID="txtDepart" WatermarkText="departure date">
        </cc1:TextBoxWatermarkExtender>
        <cc1:CalendarExtender ID="DepartCalendarExt" CssClass="MyCalendar" runat="server" Enabled="True" 
            Format="dd/MM/yyyy" TargetControlID="txtDepart">
        </cc1:CalendarExtender>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
            ControlToValidate="txtDepart" ErrorMessage="Please select departure date" 
            Text="*" ValidationGroup="date"></asp:RequiredFieldValidator>
        <asp:CompareValidator ID="CompareValidator2" runat="server" 
            ControlToCompare="txtDepart" ControlToValidate="txtArrive" 
            ErrorMessage="your departure date has to be later than your arrival date" 
            Operator="LessThan" Type="Date" Text="*" ValidationGroup="date"></asp:CompareValidator>
     </td>
    <td>
        &nbsp;</td>
</tr>

Валидатор диапазона получает свои значения в коде после Page_load

RangeValidator1.MinimumValue = DateTime.Now.AddDays(1).ToShortDateString();
RangeValidator1.MaximumValue = DateTime.Now.AddMonths(12).ToShortDateString();

Есть ли у кого-нибудь какие-либо предложения о том, как решитьэто проблема с сафари?

1 Ответ

0 голосов
/ 02 апреля 2010

установить для свойства формата значение = "дд / мм / гггг" расширителя календаря

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...