0

フォームにいくつかのバリデーターがあり、2つが異なりますValidationGroups

フォームを送信する前に、ValidationGroup="main"コントロールが有効かどうかを確認するだけで、次のことを試しました。

Page.Validate("main");
if (Page.IsValid) 
//do something

それは戻り続けfalse、私は夢中になりました。

どのバリデーターが失敗したかを正確に確認した後、別のにあるバリデーターを窒息させているように見えますValidationGroup

「メイン」グループのみを検証するようにするにはどうすればよいですか?

これは私の完全な送信コードです:(おそらく私は失敗したバリデーターを間違ってチェックしていますか?)しかしどちらの方法でも私はpage.isvalidに対してfalseを取得し続けます:(

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;
            }
4

1 に答える 1

0

これを読んでください。それは次のように述べています

Validate メソッドは、指定された検証グループを検証します。検証グループで Validate メソッドを呼び出した後、IsValid メソッドは、指定された検証グループと、ページをサーバーにポストする原因となったコントロールの検証グループの両方が有効な場合にのみ true を返します。

于 2013-03-20T15:41:07.590 に答える