我的表单上有一些验证器,有两个不同的ValidationGroups
在提交表单之前,我只需检查ValidationGroup="main"
控件是否有效
我尝试了以下方法:
Page.Validate("main");
if (Page.IsValid)
//do something
它一直在返回false
,我感到很疯狂。
在检查确切地看到哪个验证器失败之后,它看起来像是在一个不同的ValidationGroup
的验证器上。
我怎样才能确保它只验证“主”组?
这是我的完整提交代码:(也许我正在检查失败的验证器是否错误?)但无论哪种方式我都会因为page.isvalid而变得虚假:(
Page.Validate("main");
if ((Page.IsValid) && (user.userRole.Contains("9")))
btnSubmit.Visible = true;
else
{
foreach (BaseValidator valControl in Page.Validators)
{
WebControl assControl = Page.FindControl(valControl.ControlToValidate) as WebControl;
if (valControl.IsValid)
{
//do something.
}
else
{
//do something.
lblMessage.Text = valControl.ToString();
}
}
btnSubmit.Visible = false;
}
答案 0 :(得分:0)
请仔细阅读this。它说明了
Validate方法验证指定的验证组。后 在验证组上调用Validate方法,即IsValid方法 只有在指定的验证组和 导致页面发布到的控件的验证组 服务器有效。