Asp.net 一个按钮中有两个验证组,没有客户端单击事件

Asp.net 一个按钮中有两个验证组,没有客户端单击事件,asp.net,validation,customvalidator,Asp.net,Validation,Customvalidator,在多重网格中,我验证两个控件,如日期和金额。当我按下tabevent时,它正在正确验证。当我按下保存按钮时,它不是验证。我使用两个验证组和两个验证摘要。然后在save按钮中,我也尝试了使用javascript的onclientclick()函数,它工作正常,但如果我在日期和金额记录中给出了正确的值,它就不会保存。如何克服这一点 日期 * 数量 验证摘要: 按钮保存: 如何在按钮“保存”中验证这一点?还应显示两个弹出框?您可能希望通过按钮的OnClientClick手动启动两个组的

在多重网格中,我验证两个控件,如日期和金额。当我按下tabevent时,它正在正确验证。当我按下保存按钮时,它不是验证。我使用两个验证组和两个验证摘要。然后在save按钮中,我也尝试了使用javascript的
onclientclick()
函数,它工作正常,但如果我在日期和金额记录中给出了正确的值,它就不会保存。如何克服这一点

日期

*
数量

验证摘要:

按钮保存:


如何在按钮“保存”中验证这一点?还应显示两个弹出框?

您可能希望通过按钮的
OnClientClick
手动启动两个组的验证功能,因为您有两个需要验证的验证组。当前,您的验证没有触发,因为您没有为按钮分配任何
ValidationGroup
,因此它只是在查找未定义
ValidationGroup
的验证程序(您的组是:group和req)

您可以通过javascript调用
Page\u ClientValidate()
,手动启动验证检查(请确保将按钮上的
CauseValidation
设置为false),并且它有一个可选参数,用于获取验证组

<asp:Button ID="yourButton" runat="server" OnClick="ButtonSave_Click"
    CausesValidation="false" TabIndex="6"
    OnClientClick="return (Page_ClientValidate('group') && Page_ClientValidate('req'));" />

对于每个操作(例如,您的按钮)只需一个验证组会更容易,但我假设您出于某种原因需要两个验证组。

试试这个

 <script type="text/javascript">
        function Validate() {
            var isValid = false;
            isValid = Page_ClientValidate('Group1');
            if (isValid) {
                isValid = Page_ClientValidate('Group2');
            } 
            return isValid;
        }
    </script>

函数验证(){
var isValid=false;
isValid=Page_ClientValidate('Group1');
如果(有效){
isValid=Page_ClientValidate('Group2');
} 
返回有效;
}

我尝试使用它,但在我的第二个验证组中,
CustomValidator
ClientValidationFunction
上的Javascript函数未被执行或调用
 <asp:ValidationSummary ID="ValidationSummary3" runat="server" ValidationGroup="req"
                            HeaderText="Amount:Invalid Format" DisplayMode="BulletList" ShowMessageBox="true"
                            ShowSummary="false" />
                        <asp:ValidationSummary ID="ValidationSummary1" runat="server" ValidationGroup="group"
                            HeaderText="Date:Invalid Format" DisplayMode="BulletList"  ShowMessageBox="true" 
                            ShowSummary="false" />
 <asp:Button ID="ButtonSave" runat="server"  CssClass="button" CausesValidation="true" Text="<%$Resources:TJFAS501, ButtonSave %>"
                                            OnClick="ButtonSave_Click" TabIndex="6" />
<asp:Button ID="yourButton" runat="server" OnClick="ButtonSave_Click"
    CausesValidation="false" TabIndex="6"
    OnClientClick="return (Page_ClientValidate('group') && Page_ClientValidate('req'));" />
 <script type="text/javascript">
        function Validate() {
            var isValid = false;
            isValid = Page_ClientValidate('Group1');
            if (isValid) {
                isValid = Page_ClientValidate('Group2');
            } 
            return isValid;
        }
    </script>