Календарь Пользовательский валидатор - PullRequest
1 голос
/ 23 февраля 2012

Может кто-нибудь подсказать, как реализовать собственный валидатор для элемента управления «Календарь веб-форм»? Очевидно, ни RequiredValidator, ни CustomValidator не работают из коробки с элементом управления Calendar.

Одним из решений, предлагаемых Microsoft, является расширение Календаря:

Как расширить элемент управления веб-формы для работы с элементами проверки с помощью Visual C #

Нет ли более простого решения?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2012

Я наконец-то заставил его работать так:

<asp:Calendar ID="startCalendar" CssClass="startDate" 
    OnSelectionChanged="Selection_Changed" runat="server"></asp:Calendar>
<asp:CustomValidator ID="dateCustVal" OnServerValidate="DateCustVal_Validate" 
    runat="server"></asp:CustomValidator>

protected void DateCustVal_Validate(object source, ServerValidateEventArgs args)
{            
    if (startCalendar.SelectedDate == null 
        || startCalendar.SelectedDate == new DateTime(0001, 1, 1, 0, 0, 0))
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}
1 голос
/ 23 февраля 2012

Я думаю, что вы должны использовать Ajax Control Toolkit (downloadale from: http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/). Затем вы можете отформатировать свой календарь так, как вы хотите. Пример выглядит так:

<ajaxToolkit:Calendar runat="server"
TargetControlID="Date1"
CssClass="ClassName"
Format="MMMM d, yyyy"
PopupButtonID="Image1" />

Если вам нужноубедитесь, что дата была выбрана, тогда вы можете сделать следующее:

<ajaxToolkit:ValidatorCalloutExtender 
runat="Server"
ID="PNReqE"
TargetControlID="Date1" 
Width="350px"
HighlightCssClass="highlight" 
CssClass="CustomValidatorCalloutStyle"
PopupPosition="Right"
WarningIconImageUrl="warning.gif"
CloseImageUrl="close.gif" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...