/// <summary>
        ///    <para>
        ///       Gets the design time HTML of ValidatorBase controls.
        ///    </para>
        /// </summary>
        /// <returns>
        ///    <para>
        ///       The design time
        ///       HTML of the control.
        ///    </para>
        /// </returns>
        protected override String GetDesignTimeNormalHtml()
        {
            Debug.Assert(_baseValidator.Text != null);

            String           originalText     = _baseValidator.ErrorMessage;
            ValidatorDisplay validatorDisplay = _baseValidator.Display;
            bool             blankText        = (validatorDisplay == ValidatorDisplay.None ||
                                                 (originalText.Trim().Length == 0 && _baseValidator.Text.Trim().Length == 0));

            if (blankText)
            {
                _baseValidator.ErrorMessage = "[" + _baseValidator.ID + "]";
            }

            DesignerTextWriter tw = new DesignerTextWriter();

            _baseValidator.Adapter.Render(tw);

            if (blankText)
            {
                _baseValidator.ErrorMessage = originalText;
            }

            return(tw.ToString());
        }
Ejemplo n.º 2
0
        /// <include file='doc\BaseValidatorDesigner.uex' path='docs/doc[@for="BaseValidatorDesigner.GetDesignTimeHtml"]/*' />
        /// <devdoc>
        ///    <para>
        ///       Gets the design time HTML of ValidatorBase controls.
        ///    </para>
        /// </devdoc>
        public override string GetDesignTimeHtml()
        {
            BaseValidator bv = (BaseValidator)Component;

            // Set to false to force a render
            bv.IsValid = false;

            // Put in dummy text if required
            string           originalText     = bv.ErrorMessage;
            ValidatorDisplay validatorDisplay = bv.Display;
            bool             blank            = (validatorDisplay == ValidatorDisplay.None || (originalText.Trim().Length == 0 && bv.Text.Trim().Length == 0));

            if (blank)
            {
                bv.ErrorMessage = "[" + bv.ID + "]";
                bv.Display      = ValidatorDisplay.Static;
            }

            string html = base.GetDesignTimeHtml();

            // Reset the control state
            if (blank)
            {
                bv.ErrorMessage = originalText;
                bv.Display      = validatorDisplay;
            }

            return(html);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Adds the HTML attributes and styles of a <see cref="T:System.Web.UI.WebControls.Label"/> control to render to the specified output stream.
        /// </summary>
        /// <param name="writer">An <see cref="T:System.Web.UI.HtmlTextWriter"/> that represents the output stream to render HTML content on the client.</param>
        /// <exception cref="T:System.Web.HttpException">The control specified in the <see cref="P:System.Web.UI.WebControls.Label.AssociatedControlID"/> property cannot be found.</exception>
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            bool flag = !Enabled;

            if (flag)
            {
                Enabled = true;
            }
            try
            {
                if (RenderUplevel)
                {
                    base.EnsureID();
                    string clientID = ClientID;
                    //HtmlTextWriter writer2 = base.EnableLegacyRendering ? writer : null;
                    HtmlTextWriter writer2 = writer;
                    if (ControlToValidate.Length > 0)
                    {
                        AddExpandoAttribute(writer2, clientID, "controltovalidate",
                                            GetControlRenderID(ControlToValidate));
                    }
                    if (SetFocusOnError)
                    {
                        AddExpandoAttribute(writer2, clientID, "focusOnError", "t", false);
                    }
                    if (ErrorMessage.Length > 0)
                    {
                        AddExpandoAttribute(writer2, clientID, "errormessage", ErrorMessage);
                    }
                    ValidatorDisplay enumValue = Display;
                    if (enumValue != ValidatorDisplay.Static)
                    {
                        AddExpandoAttribute(writer2, clientID, "display",
                                            PropertyConverter.EnumToString(typeof(ValidatorDisplay), enumValue), false);
                    }
                    if (!IsValid)
                    {
                        AddExpandoAttribute(writer2, clientID, "isvalid", "False", false);
                    }
                    if (flag)
                    {
                        AddExpandoAttribute(writer2, clientID, "enabled", "False", false);
                    }
                    if (ValidationGroup.Length > 0)
                    {
                        AddExpandoAttribute(writer2, clientID, "validationGroup", ValidationGroup);
                    }
                }
                base.AddAttributesToRender(writer);
            }
            finally
            {
                if (flag)
                {
                    Enabled = false;
                }
            }
        }
Ejemplo n.º 4
0
        public void CreateValidator(string message, ValidatorDisplay dispaly)
        {
            RequiredFieldValidator Valida = new RequiredFieldValidator();

            Valida.ControlToValidate = this.S_TxtDatecalendar.ID;
            Valida.ErrorMessage      = message;
            Valida.Display           = dispaly;
            this.Controls.Add(Valida);
        }
Ejemplo n.º 5
0
        //public static void DoBaseCompareValidatorAddAttributes(WhidbeyBaseCompareValidator validator, IBaseCompareValidatorAccessor validatorAccessor) {
        //    if (validatorAccessor.RenderUpLevel) {
        //        ValidationDataType type = validator.Type;
        //        if (type != ValidationDataType.String) {
        //            string id = validator.ClientID;

        //            ValidatorHelper.AddExpandoAttribute(validator, id, "type", PropertyConverter.EnumToString(typeof(ValidationDataType), type), false);

        //            NumberFormatInfo info = NumberFormatInfo.CurrentInfo;
        //            if (type == ValidationDataType.Double) {
        //                string decimalChar = info.NumberDecimalSeparator;
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "decimalchar", decimalChar);
        //            }
        //            else if (type == ValidationDataType.Currency) {
        //                string decimalChar = info.CurrencyDecimalSeparator;
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "decimalchar", decimalChar);

        //                string groupChar = info.CurrencyGroupSeparator;
        //                if (groupChar[0] == 160)
        //                    groupChar = " ";
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "groupchar", groupChar);

        //                int digits = info.CurrencyDecimalDigits;
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "digits", digits.ToString(NumberFormatInfo.InvariantInfo), false);

        //                int groupSize = GetCurrencyGroupSize(info);
        //                if (groupSize > 0) {
        //                    ValidatorHelper.AddExpandoAttribute(validator, id, "groupsize", groupSize.ToString(NumberFormatInfo.InvariantInfo), false);
        //                }
        //            }
        //            else if (type == ValidationDataType.Date) {
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "dateorder", validatorAccessor.GetDateElementOrder(), false);
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "cutoffyear", validatorAccessor.CutoffYear.ToString(NumberFormatInfo.InvariantInfo), false);

        //                int currentYear = DateTime.Today.Year;
        //                int century = currentYear - (currentYear % 100);
        //                ValidatorHelper.AddExpandoAttribute(validator, id, "century", century.ToString(NumberFormatInfo.InvariantInfo), false);
        //            }
        //        }
        //    }
        //}

        public static void DoBaseValidatorAddAttributes(WhidbeyBaseValidator validator, IBaseValidatorAccessor validatorAccessor, HtmlTextWriter writer)
        {
            bool disabled = !validator.Enabled;

            if (disabled)
            {
                validator.Enabled = true;
            }

            try {
                if (validatorAccessor.RenderUpLevel)
                {
                    validatorAccessor.EnsureID();
                    string id = validator.ClientID;

                    if (validator.ControlToValidate.Length > 0)
                    {
                        AddExpandoAttribute(validator, id, "controltovalidate", validatorAccessor.GetControlRenderID(validator.ControlToValidate));
                    }
                    if (validator.SetFocusOnError)
                    {
                        AddExpandoAttribute(validator, id, "focusOnError", "t", false);
                    }
                    if (validator.ErrorMessage.Length > 0)
                    {
                        AddExpandoAttribute(validator, id, "errormessage", validator.ErrorMessage);
                    }
                    ValidatorDisplay display = validator.Display;
                    if (display != ValidatorDisplay.Static)
                    {
                        AddExpandoAttribute(validator, id, "display", PropertyConverter.EnumToString(typeof(ValidatorDisplay), display), false);
                    }
                    if (!validator.IsValid)
                    {
                        AddExpandoAttribute(validator, id, "isvalid", "False", false);
                    }
                    if (disabled)
                    {
                        AddExpandoAttribute(validator, id, "enabled", "False", false);
                    }
                    if (validator.ValidationGroup.Length > 0)
                    {
                        AddExpandoAttribute(validator, id, "validationGroup", validator.ValidationGroup);
                    }
                }

                DoWebControlAddAttributes(validator, validatorAccessor, writer);
            }
            finally {
                if (disabled)
                {
                    validator.Enabled = false;
                }
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AddressControl"/> class.
        /// </summary>
        public AddressControl()
            : base()
        {
            HelpBlock    = new HelpBlock();
            WarningBlock = new WarningBlock();

            // Prevent ViewState from being disabled by the container, because it is necessary for this control to operate correctly.
            this.ViewStateMode = ViewStateMode.Enabled;

            // Default validation display mode to use the ValidationSummary control rather than inline.
            this.ValidationDisplay = ValidatorDisplay.None;
        }
Ejemplo n.º 7
0
        protected T GetValidator <T>(T validator, string id, string controlToValidateId, string errorMessage, string validationGroup,
                                     ValidatorDisplay validatorDisplay) where T : BaseValidator
        {
            validator.ID = id;
            validator.ControlToValidate = controlToValidateId;
            validator.Text            = errorMessage;
            validator.ErrorMessage    = errorMessage;
            validator.ValidationGroup = validationGroup;
            validator.Display         = validatorDisplay;

            return(validator);
        }
Ejemplo n.º 8
0
        /// <include file='doc\BaseValidator.uex' path='docs/doc[@for="BaseValidator.AddAttributesToRender"]/*' />
        /// <internalonly/>
        /// <devdoc>
        ///    <para>Adds the attributes of this control to the output stream for rendering on the
        ///       client.</para>
        /// </devdoc>
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            // Validators do not render the "disabled" attribute, instead they are invisible when disabled.
            bool disabled = !Enabled;

            if (disabled)
            {
                Enabled = true;
            }
            base.AddAttributesToRender(writer);

            if (RenderUplevel)
            {
                // We always want validators to have an id on the client, so if it's null, write it here.
                // Otherwise, base.RenderAttributes takes care of it.
                // REVIEW: this is a bit hacky.
                if (ID == null)
                {
                    writer.AddAttribute("id", ClientID);
                }

                if (ControlToValidate.Length > 0)
                {
                    writer.AddAttribute("controltovalidate", GetControlRenderID(ControlToValidate));
                }
                if (ErrorMessage.Length > 0)
                {
                    writer.AddAttribute("errormessage", ErrorMessage, true);
                }
                ValidatorDisplay display = Display;
                if (display != ValidatorDisplay.Static)
                {
                    writer.AddAttribute("display", PropertyConverter.EnumToString(typeof(ValidatorDisplay), display));
                }
                if (!IsValid)
                {
                    writer.AddAttribute("isvalid", "False");
                }
                if (disabled)
                {
                    writer.AddAttribute("enabled", "False");
                }
            }
            if (disabled)
            {
                Enabled = false;
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Init routine
 /// </summary>
 protected virtual void InitializeRequiredFieldValidator(ref RequiredFieldValidator rfv,
                                                         string controlId,
                                                         string controlToValidate,
                                                         string validationGroup,
                                                         string text,
                                                         string errMessage,
                                                         bool enableClientScript,
                                                         ValidatorDisplay validatorDisplay)
 {
     if (rfv == null)
     {
         rfv    = new RequiredFieldValidator();
         rfv.ID = controlId;
         rfv.ControlToValidate = controlToValidate;
         rfv.ValidationGroup   = validationGroup;
         rfv.Text               = text;
         rfv.ErrorMessage       = errMessage;
         rfv.EnableClientScript = enableClientScript;
         rfv.Display            = ValidatorDisplay.Static;
     }
 }
 /// <summary>
 /// Init routine
 /// </summary>
 protected virtual void InitializeRegularExpressionValidator(ref RegularExpressionValidator rev,
     string controlId,
     string controlToValidate,
     string validationExpression,
     string validationGroup,
     string text,
     string errMessage,
     bool enableClientScript,
     ValidatorDisplay validatorDisplay)
 {
     if (rev == null)
     {
         rev = new RegularExpressionValidator();
         rev.ID = controlId;
         rev.ControlToValidate = controlToValidate;
         rev.ValidationExpression = validationExpression;
         rev.ValidationGroup = validationGroup;
         rev.Text = text;
         rev.ErrorMessage = errMessage;
         rev.EnableClientScript = enableClientScript;
     }
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Init routine
 /// </summary>
 protected virtual void InitializeRegularExpressionValidator(ref RegularExpressionValidator rev,
                                                             string controlId,
                                                             string controlToValidate,
                                                             string validationExpression,
                                                             string validationGroup,
                                                             string text,
                                                             string errMessage,
                                                             bool enableClientScript,
                                                             ValidatorDisplay validatorDisplay)
 {
     if (rev == null)
     {
         rev    = new RegularExpressionValidator();
         rev.ID = controlId;
         rev.ControlToValidate    = controlToValidate;
         rev.ValidationExpression = validationExpression;
         rev.ValidationGroup      = validationGroup;
         rev.Text               = text;
         rev.ErrorMessage       = errMessage;
         rev.EnableClientScript = enableClientScript;
     }
 }
        public override string GetDesignTimeHtml()
        {
            BaseValidator viewControl = (BaseValidator)base.ViewControl;

            viewControl.IsValid = false;
            string           errorMessage = viewControl.ErrorMessage;
            ValidatorDisplay display      = viewControl.Display;
            bool             flag         = (display == ValidatorDisplay.None) || ((errorMessage.Trim().Length == 0) && (viewControl.Text.Trim().Length == 0));

            if (flag)
            {
                viewControl.ErrorMessage = "[" + viewControl.ID + "]";
                viewControl.Display      = ValidatorDisplay.Static;
            }
            string designTimeHtml = base.GetDesignTimeHtml();

            if (flag)
            {
                viewControl.ErrorMessage = errorMessage;
                viewControl.Display      = display;
            }
            return(designTimeHtml);
        }
        /// <internalonly/>
        /// <devdoc>
        ///    <para>Adds the attributes of this control to the output stream for rendering on the
        ///       client.</para>
        /// </devdoc>
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            // Validators do not render the "disabled" attribute, instead they are invisible when disabled.
            bool disabled = !Enabled;

            if (disabled)
            {
                Enabled = true;
            }

            try {
                if (RenderUplevel)
                {
                    // We always want validators to have an id on the client
                    EnsureID();
                    string id = ClientID;

                    // DevDiv Schedule 33075: Expando attributes are added through client-side JavaScript

                    // DevDiv 33149: A backward compat. switch for Everett rendering
                    HtmlTextWriter expandoAttributeWriter = (EnableLegacyRendering || IsUnobtrusive) ? writer : null;

                    if (IsUnobtrusive)
                    {
                        Attributes["data-val"] = "true";
                    }

                    if (ControlToValidate.Length > 0)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "controltovalidate", GetControlRenderID(ControlToValidate));
                    }
                    if (SetFocusOnError)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "focusOnError", "t", false);
                    }
                    if (ErrorMessage.Length > 0)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "errormessage", ErrorMessage);
                    }
                    ValidatorDisplay display = Display;
                    if (display != ValidatorDisplay.Static)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "display", PropertyConverter.EnumToString(typeof(ValidatorDisplay), display), false);
                    }
                    if (!IsValid)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "isvalid", "False", false);
                    }
                    if (disabled)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "enabled", "False", false);
                    }
                    if (ValidationGroup.Length > 0)
                    {
                        AddExpandoAttribute(expandoAttributeWriter, id, "validationGroup", ValidationGroup);
                    }
                }

                base.AddAttributesToRender(writer);
            }
            finally {
                // If exception happens above, we can still reset the property if needed
                if (disabled)
                {
                    Enabled = false;
                }
            }
        }
Ejemplo n.º 14
0
        public virtual void CreateClientValidator(Page page, StringBuilder sb, string clientID, string controlToValidate, ValidatorDisplay display, string validationGroup, object controlValue)
        {
            controlValues.Add(controlValue);
            var isValid = ValidateValue((controlValue ?? "").ToString());

            clientValidatorInfos[clientID] =
                new clientValidatorInfo
            {
                clientID          = clientID,
                controlToValidate = controlToValidate,
                display           = display,
                isValid           = isValid,
                validationGroup   = validationGroup,
            };

            sb.Append("&nbsp;<span id=\"");
            sb.Append(clientID);
            sb.Append("\" style=\"color:Red;");
            if (isValid)
            {
                sb.Append("display:none;");
            }
            sb.Append("\">");
            sb.Append(ErrorMessage);
            sb.Append("</span>");
            if (!isAddedToPage)
            {
                page.Validators.Add(this);
                isAddedToPage = true;
            }
        }
Ejemplo n.º 15
0
        protected override void Render(HtmlTextWriter writer)
        {
            bool flag;

            if (base.DesignMode || (!preRenderCalled && (Page == null)))
            {
                propertiesChecked = true;
                propertiesValid   = true;
                renderUplevel     = false;
                flag = true;
            }
            else
            {
                flag = Enabled && !IsValid;
            }

            if (!PropertiesValid)
            {
                return;
            }


            bool flag2;
            bool flag3;

            if (Page != null)
            {
                Page.VerifyRenderingInServerForm(this);
            }
            ValidatorDisplay display = Display;

            if (RenderUplevel)
            {
                flag3 = true;
                flag2 = display != ValidatorDisplay.None;
            }
            else
            {
                flag2 = (display != ValidatorDisplay.None) && flag;
                flag3 = flag2;
            }
            if (flag3 && RenderUplevel)
            {
                RegisterValidatorDeclaration();
                if ((display == ValidatorDisplay.None) || (!flag && (display == ValidatorDisplay.Dynamic)))
                {
                    base.Style["display"] = "none";
                }
                else if (!flag)
                {
                    base.Style["visibility"] = "hidden";
                }
            }
            if (flag3)
            {
                RenderBeginTag(writer);
            }
            if (flag2)
            {
                if (Text.Trim().Length > 0)
                {
                    RenderContents(writer);
                }
                //else if (base.HasRenderingData())
                //{
                //    base.RenderContents(writer);
                //}
                else
                {
                    writer.Write(ErrorMessage);
                }
            }
            else if (!RenderUplevel && (display == ValidatorDisplay.Static))
            {
                writer.Write("&nbsp;");
            }
            if (flag3)
            {
                RenderEndTag(writer);
            }

            base.RenderContents(writer);
        }
        /// <internalonly/>
        /// <devdoc>
        ///    <para>Displays the control on the client.</para>
        /// </devdoc>
        protected internal override void Render(HtmlTextWriter writer)
        {
            bool shouldBeVisible;

            // VSWhidbey 347677, 398978: Backward Compat.: Skip property checking if the
            // validator doesn't have PreRender called and it is not in page control tree.
            if (DesignMode || (!preRenderCalled && Page == null))
            {
                // This is for design time. In this case we don't want any expandos
                // created, don't want property checks and always want to be visible.
                propertiesChecked = true;
                propertiesValid   = true;
                renderUplevel     = false;
                shouldBeVisible   = true;
            }
            else
            {
                shouldBeVisible = Enabled && !IsValid;
            }

            // No point rendering if we have errors
            if (!PropertiesValid)
            {
                return;
            }

            // Make sure we are in a form tag with runat=server.
            if (Page != null)
            {
                Page.VerifyRenderingInServerForm(this);
            }

            // work out what we are displaying
            ValidatorDisplay display = Display;
            bool             displayContents;
            bool             displayTags;

            if (RenderUplevel)
            {
                displayTags     = true;
                displayContents = (display != ValidatorDisplay.None);
            }
            else
            {
                displayContents = (display != ValidatorDisplay.None && shouldBeVisible);
                displayTags     = displayContents;
            }

            if (displayTags && RenderUplevel)
            {
                if (!IsUnobtrusive)
                {
                    // Put ourselves in the array
                    RegisterValidatorDeclaration();
                }

                // Set extra uplevel styles
                if (display == ValidatorDisplay.None ||
                    (!shouldBeVisible && display == ValidatorDisplay.Dynamic))
                {
                    Style["display"] = "none";
                }
                else if (!shouldBeVisible)
                {
                    Debug.Assert(display == ValidatorDisplay.Static, "Unknown Display Type");
                    Style["visibility"] = "hidden";
                }
            }

            // Display it
            if (displayTags)
            {
                RenderBeginTag(writer);
            }
            if (displayContents)
            {
                if (Text.Trim().Length > 0)
                {
                    RenderContents(writer);
                }
                else if (HasRenderingData())
                {
                    base.RenderContents(writer);
                }
                else
                {
                    writer.Write(ErrorMessage);
                }
            }
            else if (!RenderUplevel && display == ValidatorDisplay.Static)
            {
                // For downlevel in static mode, render a space so that table cells do not render as empty
                writer.Write("&nbsp;");
            }
            if (displayTags)
            {
                RenderEndTag(writer);
            }
        }
Ejemplo n.º 17
0
 /// <summary>
 /// Создание валидатора по клиентскому ID
 /// </summary>
 /// <param name="page">Страница</param>
 /// <param name="sb">StringBuilder в который необходимо добавить валидатор</param>
 /// <param name="clientID">Клиентский ID валидатора</param>
 /// <param name="controlToValidate">Клиентский ID валидируемого компонента</param>
 /// <param name="controlValue">Текущее значение контрола</param>
 /// <param name="display">Настройка срабатывания валидации</param>
 /// <param name="validationGroup">Группа валидации</param>
 public void CreateClientValidator(Page page, StringBuilder sb, string clientID, string controlToValidate, string controlValue, ValidatorDisplay display, string validationGroup)
 {
     base.CreateClientValidator(page, sb, clientID, controlToValidate, display, validationGroup, controlValue);
 }
 /// <summary>
 /// Init routine
 /// </summary>
 protected virtual void InitializeRequiredFieldValidator(ref RequiredFieldValidator rfv,
     string controlId,
     string controlToValidate,
     string validationGroup,
     string text,
     string errMessage,
     bool enableClientScript,
     ValidatorDisplay validatorDisplay)
 {
     if (rfv == null)
     {
         rfv = new RequiredFieldValidator();
         rfv.ID = controlId;
         rfv.ControlToValidate = controlToValidate;
         rfv.ValidationGroup = validationGroup;
         rfv.Text = text;
         rfv.ErrorMessage = errMessage;
         rfv.EnableClientScript = enableClientScript;
         rfv.Display = ValidatorDisplay.Static;
     }
 }