⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fckeditorvalidator.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.Controls
{
    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Text;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public class FckEditorValidator : BaseValidator
    {
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            base.AddAttributesToRender(writer);
            if (base.RenderUplevel)
            {
                string clientID = this.ClientID;
                this.Page.ClientScript.RegisterExpandoAttribute(clientID, "evaluationfunction", "FckEditorRequiredFieldValidatorEvaluateIsValid", false);
                this.Page.ClientScript.RegisterExpandoAttribute(clientID, "initialvalue", this.InitialValue);
            }
        }

        protected override bool EvaluateIsValid()
        {
            string controlValidationValue = base.GetControlValidationValue(base.ControlToValidate);
            if (controlValidationValue != null)
            {
                return !controlValidationValue.Trim().Equals(this.InitialValue.Trim());
            }
            return true;
        }

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            StringBuilder builder = new StringBuilder();
            builder.Append("<script type=\"text/javascript\">");
            builder.Append(" function FckEditorValidatorGetValue(controltovalidate)");
            builder.Append(" {  ");
            builder.Append("   var editorInstance = FCKeditorAPI.GetInstance(controltovalidate);");
            builder.Append("   return editorInstance.GetXHTML(true);");
            builder.Append(" }");
            builder.Append(" function FckEditorRequiredFieldValidatorEvaluateIsValid(val)");
            builder.Append(" {  ");
            builder.Append("   return (ValidatorTrim(FckEditorValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue));");
            builder.Append(" }");
            builder.Append("</script>");
            if (!this.Page.ClientScript.IsClientScriptBlockRegistered("FckEditorCustomValidate"))
            {
                this.Page.ClientScript.RegisterClientScriptBlock(base.GetType(), "FckEditorCustomValidate", builder.ToString());
            }
        }

        protected override void Render(HtmlTextWriter writer)
        {
            if ((base.Display != ValidatorDisplay.None) && this.ShowRequiredText)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Color, TypeDescriptor.GetConverter(this.RequiredTextColor).ConvertToString(this.RequiredTextColor));
                writer.RenderBeginTag(HtmlTextWriterTag.Span);
                writer.Write(this.RequiredText);
                writer.RenderEndTag();
            }
            base.Render(writer);
        }

        [Themeable(false), DefaultValue(""), Description("RequiredFieldValidator_InitialValue"), Category("Behavior")]
        public string InitialValue
        {
            get
            {
                object obj2 = this.ViewState["InitialValue"];
                if (obj2 != null)
                {
                    return (string) obj2;
                }
                return string.Empty;
            }
            set
            {
                this.ViewState["InitialValue"] = value;
            }
        }

        [DefaultValue("* "), Description("必填的提示文字"), Localizable(true), Category("自定义")]
        public string RequiredText
        {
            get
            {
                string str = (string) this.ViewState["RequiredText"];
                if (str != null)
                {
                    return str;
                }
                return "* ";
            }
            set
            {
                this.ViewState["RequiredText"] = value;
            }
        }

        [Localizable(true), TypeConverter(typeof(WebColorConverter)), Category("自定义"), DefaultValue(typeof(Color), "Red"), Description("必填的提示文字的颜色")]
        public Color RequiredTextColor
        {
            get
            {
                object obj2 = this.ViewState["RequiredTextColor"];
                if (obj2 != null)
                {
                    return (Color) obj2;
                }
                return Color.Red;
            }
            set
            {
                this.ViewState["RequiredTextColor"] = value;
            }
        }

        [Bindable(true), Category("自定义"), DefaultValue(true), Description("是否显示必填的提示文字"), Localizable(true)]
        public bool ShowRequiredText
        {
            get
            {
                object obj2 = this.ViewState["ShowRequiredText"];
                if (obj2 != null)
                {
                    return (bool) obj2;
                }
                return true;
            }
            set
            {
                this.ViewState["ShowRequiredText"] = value;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -