两个验证组

时间:2015-07-16 22:12:22

标签: c# asp.net .net forms validation

我有以下表格: 第一部分: 无论如何你必须填写的表格 第二部分: 一个复选框 如果选中该复选框,您将看到第二部分表格 如果你不勾选复选框,第二部分表格将被隐藏

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

问题是:每当我不检查复选框并且隐藏第二个表单时它不会发送任何内容,因为按钮和两个表单具有相同的验证组,当然当表单2隐藏时没有人填写字段而我应该以某种方式对它们进行验证(只保留你应该填写的第一个表格的验证 - 无论有没有复选框)。

什么是最好的解决方案?

谢谢!!!

2 个答案:

答案 0 :(得分:0)

我不是 ASP.NET 的最佳实践专家,所以这里有一些一般的建议 您可以检查是否选中了复选框,只检查了第二个表格。下面的伪代码示例:

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

希望有所帮助。

答案 1 :(得分:0)

好吧,让我们有两个验证组。一个用于Form1中的字段,另一个用于Form2中的字段。例如:valform1和valform2。

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

看看是否有效。