2012-05-23 72 views
0

我在包含下拉列表的表單中包含自定義控件。該表單有一些其他必填字段,所以我想知道如何驗證此下拉菜單。從頁面中的自定義控件驗證下拉列表

<gaia:TextBox ID="TitleTextBox" runat="server"/> 
<gaia:RequiredFieldValidator runat="server" ControlToValidate="TitleTextBox" 
        ErrorMessage="Please fill in the press release title" Text="*" Display="None" ValidationGroup="save" /> 

<CN:ProductCategoryDropDown runat="server" ID="ProductCategoryDropDown" /> 
<gaia:CustomValidator runat="server" ID="ProductCategoryValidator" OnServerValidate="ProductCategory_Validate" ValidationGroup="save" 
        Display="None" Text="*" ErrorMessage="Please select a category" /> 

後面的代碼看起來像這樣

protected void ProductCategory_Validate(object source, ServerValidateEventArgs args) 
{ 
    args.IsValid = (ProductCategoryDropDown.SelectedValue>0); 
} 

在上面的CustomValidator,我特意留出了「的ControlToValidate」,因爲它拋出一個錯誤。

請幫助。

+0

我忘了檢查頁面是否有效。 SOLVEDPut if(!Page.IsValid) { return; }在提交代碼 .. –

+0

試試這個其他文章:[http://stackoverflow.com/questions/9987615/asp-net-custom-validator-doesnt-has-attribute-controltovalidate-on-postback] [1] 希望這可以幫助你! [1]:http://stackoverflow.com/questions/9987615/asp-net-custom-validator-doesnt-has-attribute-controltovalidate-on-postback – ArtCava

回答

0

最簡單的方法是在UserControl中包含CustomValidator

然後,您可以爲驗證組提供一個屬性,另一個ValidatorEnabled設置驗證器組並啓用/禁用驗證器。