【问题标题】:Two validation groups两个验证组
【发布时间】:2015-10-06 13:28:11
【问题描述】:
我有以下表格:
第一部分:
无论如何都必须填写的表格
第二部分:
一个复选框
如果您选中复选框,您将看到第二部分表格
如果您不选中复选框,则第二部分表单将被隐藏
在本页的末尾有一个发送按钮。
问题是:每当我不选中复选框并且第二个表单被隐藏时,它不会发送任何内容,因为按钮和两个表单具有相同的验证组,当然当表单二被隐藏时,没有人填写字段,我应该以某种方式取消它们的验证(只保留对您应该填写的第一个表单的验证 - 带或不带复选框)。
什么是最好的解决方案?
谢谢!!!
【问题讨论】:
标签:
c#
asp.net
.net
forms
validation
【解决方案1】:
我不是 ASP.NET 最佳实践方面的专家,所以这里有一些一般性建议
您可以检查复选框是否被选中,如果选中则仅验证第二个表单。示例伪代码如下:
Validate(form1, form2, checkbox)
bool1 = validate(form1)
if(checkbox.checked)
bool2 = validate(form2)
return bool1 && bool2
else
return bool1
希望有所帮助。
【解决方案2】:
好的,我们有两个验证组。一个用于 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'));" />
看看这是否有效。