2014-09-18 51 views
0

我有一个使用asp.net验证器的webform应用程序。我有一个引导手风琴(或任何手风琴jquery等),我只想验证可见面板上的控件。我为每个面板设置了一个验证组。我有一个提交按钮。Asp Webform验证一个按钮多组手风琴标签

我正在使用jquery来设置validationgroup属性,但似乎这样做时,按钮会忽略该值。

我已经尝试过手动验证,但在这种情况下,页面似乎完全跳过了验证。我真的把头撞在墙上。

<asp:button ID="btnDeleteConfirmation" runat="server" Text="Save" OnClientClick="return Validate();" CausesValidation="False"/> 

function Validate() { 
    var isValid = false; 
    isValid = Page_ClientValidate(mode); 
    return isValid; 
} 

当切换标签/面板时设置模式,当我检查它时,该值是正确的。该函数被调用和返回值看起来不错,但页面回传,然后我得到以下预期的错误:

Page.IsValid cannot be called before validation has taken place. It should be queried in the event handler for a control that has CausesValidation=True and initiated the postback, or after a call to Page.Validate. 

当只有一个标签/面板需要如何他人处理验证客户端进行验证,并有是单个提交按钮?

+0

我其实已经想通了。我试图验证的控件位于自定义用户控件中。 ValidationGroup属性未在用户控件上公开。我通过公开财产作为公共方法解决了这个问题。你可以解决它的另一种方法是手动设置服务器控件内的每个控件的验证组,但该组是静态的。 – chongo2002 2014-10-02 01:22:01

回答

0

通常在这种情况下,我设置验证组上的每个部分正常,接着就什么键,我需要做验证我

Page.Validate(groupName); 

然后就可以调用Page.IsValid,它只会用验证组。这样你就不必做其他事情了。不要为您的按钮关联验证组。

+0

上面的工作,但值得一提的是,这是服务器端验证,而不是客户端。 – chongo2002 2014-10-02 01:20:16