繁体   English   中英

Page.isValid检查整个页面,而不仅仅是选定的验证组

[英]Page.isValid checks the whole page, not just the selected validation group

我的表单上有几个验证器,带有2个不同的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;
            }

请通读 它指出

Validate方法验证指定的验证组。 在验证组上调用Validate方法后,仅当指定的验证组和导致页面发布到服务器的控件的验证组均有效时,IsValid方法才会返回true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM