2010-08-31 42 views
1

我有兩個aspCalendar控件在網站上。我想執行驗證(日曆2中的日期應該大於日曆1中的日期)。CompareValidator與aspCalendar

<asp:CompareValidator ID="CompareValidator1" runat="server" 
    ErrorMessage="CompareValidator" 
    ControlToValidate="Calendar2" 
    Operator="GreaterThanEqual" 
    Type="Date" 
    ControlToCompare="Calendar1" 
/> 

有驗證的ControlToValidate,但與作爲的textBox或標籤了很多例子,怎麼樣更復雜的控制,有沒有什麼辦法,我可以告訴其財產從控制已被使用?

也許客戶端驗證?但如何做到這一點?

感謝您的幫助

回答

1

我會建議使用的CustomValidator,它使您可以驗證發生的方式完全控制。要驗證的控件可能不接受日曆;但是,您可以將其指向文本框,但在servervalidate函數的幕後驗證您的日曆,因此這是使驗證程序可以像日曆一樣使用控件的解決方法。

您可以使用客戶端驗證,但這取決於您要驗證的內容以及它的容易程度;有很多日曆控件的標記,所以這可能很難...

HTH。

+0

CustomValidator不適用於在detailView之後的detailsView中的控件,例如在detailsView上更新。 例如RequiredFiledValidator在沒有問題的情況下工作,而CustomValidator有問題(驗證不發生):/ – gruber 2010-08-31 13:43:02

+0

保留CustomValidator,並在DetailsView.ItemUpdating事件中調用Page.Validate(),並檢查頁面是否有效。您可以取消更新並返回到該頁面。 – 2010-08-31 16:27:03

相關問題