【问题标题】:Set Textbox border color to red if Validation fails (Extended control)如果验证失败,将文本框边框颜色设置为红色(扩展控制)
【发布时间】:2015-01-04 15:43:32
【问题描述】:

我扩展了我的文本框控件,为日期格式添加了正则表达式验证器。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Myapplication.App_Code
{
    public class DateTextBox  : TextBox
    {
        private RegularExpressionValidator regexval;
        public string InvalidDate="Incorrect date format, must be dd/mm/yyyy";
        public string ClientScript = "true";

        protected override void OnInit(EventArgs e)
        {
            regexval = new RegularExpressionValidator();
            regexval.ControlToValidate = this.ID;
            regexval.ErrorMessage = this.InvalidDate;
            regexval.EnableClientScript = (this.ClientScript.ToLower() != "false");
            regexval.ValidationExpression = "^(0[1-9]|[12][0-9]|3[01])[-/.](0[1-9]|1[012])[-/.](19|20)\\d\\d$";
            //regexval.Text = "*Incorrect date format";
            regexval.ForeColor = System.Drawing.Color.Red;
            regexval.ValidationGroup = "Tab1";
            Controls.Add(regexval);

            base.OnInit(e);
        }
        protected override void OnPreRender(EventArgs e)
        {
            Attributes.Add("placeholder", "dd/mm/yyyy");

            base.OnPreRender(e);
        }

        protected override void Render(HtmlTextWriter writer)
        {
            base.Render(writer);
            regexval.RenderControl(writer);
        }
    }
}

如果动态添加的正则表达式验证失败,我需要触发一些事件来更改文本框的颜色。到目前为止,我只能在使用开箱即用属性无效时显示“文本”属性或“错误消息”。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    我不确定这是否是您正在寻找的东西,但有一些 javascript 库可以为您做同样的事情。你可以试试这个http://semantic-ui.com/behaviors/form.html

    如果 javascript 适合你的话。

    【讨论】:

      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多