有人可以建議如何爲Web窗體日曆控件實現自定義驗證器嗎?顯然,RequiredValidator和CustomValidator都不能使用Calendar控件。微軟提供日曆自定義驗證器
一種解決方案是擴展Calendar:
How to extend a Web form control to work with the validation controls by using Visual C#
是不是有一個簡單的解決方案?
有人可以建議如何爲Web窗體日曆控件實現自定義驗證器嗎?顯然,RequiredValidator和CustomValidator都不能使用Calendar控件。微軟提供日曆自定義驗證器
一種解決方案是擴展Calendar:
How to extend a Web form control to work with the validation controls by using Visual C#
是不是有一個簡單的解決方案?
我終於得到它的工作是這樣的:
<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;
}
}
我認爲你應該使用Ajax控件工具包(downloadale: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" />
不幸的是,這不是一個選項... – IrishChieftain 2012-02-23 14:51:33
'args.IsValid = startCalendar.SelectedDate!= default(DateTime);' – bdimag 2015-02-19 19:41:06