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); }
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()); } } }
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(); } } }