Beispiel #1
0
        public void Visit(HtmlPasswordBox h)
        {
            sb.Append(Tabs(h.Depth));
            sb.Append(string.Format("<{0}", h.Tag));

            foreach (var a in h.Attributes.Where(a => a.IsSet))
            {
                sb.Append(a);
            }

            sb.AppendLine(">");
        }
        public virtual void Visit(FormPasswordBox formPasswordBox, HtmlContainer htmlContainer)
        {
            HtmlDiv htmlDiv = verbose ? new HtmlDiv(formPasswordBox.Path) : new HtmlDiv();

            htmlDiv.Class.Add("formPasswordBox");

            if (!string.IsNullOrWhiteSpace(formPasswordBox.CssClass))
            {
                htmlDiv.Class.AddRange(formPasswordBox.CssClass.Split(' ').Where(s => s != string.Empty));
            }

            if (!string.IsNullOrWhiteSpace(formPasswordBox.Path))
            {
                htmlDiv.Class.Add(string.Format("{0}{1}", "formId", formPasswordBox.Path));
            }

            htmlDiv.Class.Add("formField");

            if (initialize)
            {
                htmlDiv.Class.Add(formPasswordBox.IsRequired ? "formRequired" : "formOptional");
            }
            else
            {
                if (!string.IsNullOrEmpty(formPasswordBox.Value))
                {
                    htmlDiv.Class.Add(formPasswordBox.IsValid ? "formValid" : "formInvalid");
                }
                else
                {
                    htmlDiv.Class.Add(formPasswordBox.IsRequired ? "formNotEntered" : "formOptional");
                }
            }

            htmlDiv.Hidden.Value = formPasswordBox.IsHidden;

            htmlContainer.Add(htmlDiv);

            HtmlPasswordBox htmlPasswordBox = new HtmlPasswordBox(formPasswordBox.Path);

            htmlPasswordBox.Disabled.Value = formPasswordBox.IsDisabled;
            htmlPasswordBox.ReadOnly.Value = formPasswordBox.IsReadOnly;
            htmlPasswordBox.Value.Value    = formPasswordBox.Value;

            string placeholder = null;

            if (!string.IsNullOrWhiteSpace(formPasswordBox.Placeholder))
            {
                if (formPasswordBox.IsRequired && formPasswordBox.IsRequiredInPlaceholder && !string.IsNullOrWhiteSpace(formPasswordBox.RequiredMark))
                {
                    placeholder = string.Format("{0} {1}", formPasswordBox.Placeholder, formPasswordBox.RequiredMark);
                }
                else if (!formPasswordBox.IsRequired && formPasswordBox.IsOptionalInPlaceholder && !string.IsNullOrWhiteSpace(formPasswordBox.OptionalMark))
                {
                    placeholder = string.Format("{0} {1}", formPasswordBox.Placeholder, formPasswordBox.OptionalMark);
                }
                else
                {
                    placeholder = formPasswordBox.Placeholder;
                }
            }

            htmlPasswordBox.Placeholder.Value = placeholder;

            if (!initialize && firstInvalidId == null)
            {
                if (formPasswordBox.IsRequired && !formPasswordBox.HasValue || !formPasswordBox.IsValid)
                {
                    firstInvalidId = htmlPasswordBox.Id.Value;
                }
            }

            switch (formPasswordBox.OrderElements)
            {
            case OrderElements.LabelMarkInput:

                AddLabelMark(formPasswordBox, htmlPasswordBox, htmlDiv);
                htmlDiv.Add(htmlPasswordBox);

                break;

            case OrderElements.MarkLabelInput:

                AddMarkLabel(formPasswordBox, htmlPasswordBox, htmlDiv);
                htmlDiv.Add(htmlPasswordBox);

                break;

            case OrderElements.InputLabelMark:

                htmlDiv.Add(htmlPasswordBox);
                AddLabelMark(formPasswordBox, htmlPasswordBox, htmlDiv);

                break;

            case OrderElements.InputMarkLabel:

                htmlDiv.Add(htmlPasswordBox);
                AddMarkLabel(formPasswordBox, htmlPasswordBox, htmlDiv);

                break;

            case OrderElements.LabelInputMark:

                AddLabel(formPasswordBox, htmlPasswordBox, htmlDiv);
                htmlDiv.Add(htmlPasswordBox);
                AddMark(formPasswordBox, htmlPasswordBox, htmlDiv);

                break;

            case OrderElements.MarkInputLabel:

                AddMark(formPasswordBox, htmlPasswordBox, htmlDiv);
                htmlDiv.Add(htmlPasswordBox);
                AddLabel(formPasswordBox, htmlPasswordBox, htmlDiv);

                break;

            default:
            case OrderElements.NotSet:

                break;
            }

            if (initialize)
            {
                return;
            }

            string message = null;

            if (formPasswordBox.UseLastMessage)
            {
                if (!string.IsNullOrEmpty(formPasswordBox.LastMessage))
                {
                    message = formPasswordBox.LastMessage;
                }
            }
            else if (formPasswordBox.IsRequired && !formPasswordBox.HasValue)
            {
                message = formPasswordBox.RequiredMessage;
            }
            else if (!formPasswordBox.IsValid)
            {
                message = formPasswordBox.ValidationMessage;
            }

            if (message == null)
            {
                return;
            }

            HtmlLabel htmlLabelMessage = new HtmlLabel(verbose ? string.Format("{0}{1}", formPasswordBox.Path, "Message") : "");

            htmlLabelMessage.Class.Add("formValidationMessage");
            htmlLabelMessage.For.Value = htmlPasswordBox.Id.Value;
            htmlLabelMessage.Add(new HtmlText(message));
            htmlDiv.Add(htmlLabelMessage);
        }