예제 #1
0
        private ValidatorContainer FindFromMasterPage()
        {
            Control            control            = this.NamingContainer;
            ValidatorContainer validatorContainer = (ValidatorContainer)control.FindControl(this.ContainerId);

            while (validatorContainer == null && control.Parent != null)
            {
                control            = control.Parent;
                validatorContainer = (ValidatorContainer)control.FindControl(this.ContainerId);
            }
            return(validatorContainer);
        }
예제 #2
0
 private void CreateToContainer(ValidatorContainer container)
 {
     if (container != null)
     {
         this.Validators[0].SetOwner(this);
         container.AddValidatorControl(this.Validators[0].GenerateInitScript());
         for (int i = 1; i < this.Validators.Count; i++)
         {
             this.Validators[i].SetOwner(this);
             container.AddValidatorControl(this.Validators[i].GenerateAppendScript());
         }
     }
 }
예제 #3
0
        protected override void CreateChildControls()
        {
            this.Controls.Clear();
            if (string.IsNullOrEmpty(this.ControlToValidate))
            {
                throw new ArgumentNullException("ControlToValidate");
            }
            WebControl webControl = (WebControl)this.NamingContainer.FindControl(this.ControlToValidate);

            if (webControl != null && this.Validators.Count > 0)
            {
                this.targetClientId = webControl.ClientID;
                if (!(webControl is RadioButtonList))
                {
                    webControl.Attributes.Add("ValidateGroup", this.ValidateGroup);
                }
                if (!string.IsNullOrEmpty(this.ContainerId))
                {
                    ValidatorContainer validatorContainer = (ValidatorContainer)this.Page.FindControl(this.ContainerId);
                    if (validatorContainer == null)
                    {
                        validatorContainer = this.FindFromMasterPage();
                    }
                    if (validatorContainer == null)
                    {
                        throw new Exception(string.Format(CultureInfo.InvariantCulture, "The validator container: '{0}' was not found", new object[]
                        {
                            this.ContainerId
                        }));
                    }
                    this.CreateToContainer(validatorContainer);
                    return;
                }
                else
                {
                    this.CreateToChilds();
                }
            }
        }