C# 两个验证组

C# 两个验证组,c#,asp.net,.net,forms,validation,C#,Asp.net,.net,Forms,Validation,我有以下表格: 第一部分: 一张你无论如何都要填写的表格 第二部分: 复选框 如果选中该复选框,您将看到第二部分表单 如果不选中复选框,则第二部分表单将被隐藏 在本页末尾,您有一个发送按钮 问题是:每当我不选中复选框并且第二个表单被隐藏时,它不会发送任何内容,因为按钮和两个表单具有相同的验证组。当然,当表单二被隐藏时,没有人填充字段,我应该以某种方式取消对它们的验证(仅保留第一张表单的验证,不管是否使用复选框,您都应该填写该表单) 最佳解决方案是什么 谢谢!!!我不是ASP.NET最佳实践方面的

我有以下表格: 第一部分: 一张你无论如何都要填写的表格 第二部分: 复选框 如果选中该复选框,您将看到第二部分表单 如果不选中复选框,则第二部分表单将被隐藏

在本页末尾,您有一个发送按钮

问题是:每当我不选中复选框并且第二个表单被隐藏时,它不会发送任何内容,因为按钮和两个表单具有相同的验证组。当然,当表单二被隐藏时,没有人填充字段,我应该以某种方式取消对它们的验证(仅保留第一张表单的验证,不管是否使用复选框,您都应该填写该表单)

最佳解决方案是什么


谢谢!!!

我不是ASP.NET最佳实践方面的专家,所以这里有一些一般性建议 您可以检查复选框是否选中,并且仅在选中第二个表单时验证该表单。下面是示例伪代码:

Validate(form1, form2, checkbox)
  bool1 = validate(form1)
  if(checkbox.checked)
    bool2 = validate(form2)
    return bool1 && bool2
  else
    return bool1

希望有帮助。

好的,让我们有两个验证组。一个用于表单1中的字段,另一个用于表单2中的字段。例如:valform1和valform2

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

看看这是否有效