现在的位置: 首页 > 综合 > 正文

ValidateTextBox发布–绝对实用

2012年12月08日 ⁄ 综合 ⁄ 共 2212字 ⁄ 字号 评论关闭

最新更新版本,比这个版好用多了,呵呵 :http://www.cnblogs.com/thinhunan/archive/2005/04/15/137982.html

三天过后,总算赶出了THINControls.WebControls命名空间的两名新丁:

ValidateTextBox;AutoFlexTextBox。

请认真查看以下控件说明:

 

ValidateTextBox是完全独立于官方验证控件的一组加强验证功能的TextBox,控件都提供两重控制:输入时判断输入的字符是否合法,页布提交时再次进行语法完整性、正确性验证。本组控件可完美与官方的验证控件并存,并提供TextChanged事件响应和AutoPostBack支持(.net 1.0官方验证控件是不支持TextBox回传时检测的,.net 1.1我还没有时间去做测试,不过你在使用了官方验证控件的同时,使用了本组控件,则会自动更正微软的错误。)

由于微软的验证控件在验证通过后很霸道的提交事件,所以一般的做法会造成它的验证通过直接Sumbit,而使别的验证失效,解决此问题和AutoPostBack时的问题花了我一个早上的时间,大家可以看看控件生成的代码,看看我的解决方法和思路。

 

 

 

ValidateTextBox当前版本集成以下验证和控制

TextValidType:

 

  Int,    //123/+123/-123 

  PositiveInt,   //+123/123 

  NegativeInt,   //-123 

  Float,//   111.111/+11.11/-11.11 

  PositiveFloat,//  +11.111/11.111 

  NegativeFloat,//  -111.111 

  Email,//   abc@bcd.com 

  URL,/   /http://... 

  Color,//#aabbcc 

  Chinese,//中文 

  ASCII,//半角字符 

  ZipCode,//邮编 

  Tel,//座机(只能是中国的) 

  Mobile,//手机 

  ImageFile,//图片文件URL 

  ZipFile,//ZIP文件URL,RAR 

  Date,//日期 

  Capitalize,//首字字大写 

  Uppercase,//转换成大写 

  Lowercase,//  转换成小写 

  Time,//时间 

  IPAdress//10.1.0.21

 

 

 

 

 

 

 

 

 

 

 

 

所有验证可同时提供字数控制
 

IsLimitLength开启字数控制,CountLengthMode可设一个全角字符算一个字还是两个字,MinLength最少多少字,0以上就可以当RequiredFieldValidator用了,MaxLenth最多多少字,0为无限制。

AutoPostBack开启自动回传

 


 

 

 

 

Text设置TextBox的文字。

ErrorMessage设置出错时的提示。

MessageStyle设置ErrorMessage的显示样式,如果设了ErrorMessage而没有显示,请看看这里设好没有。

TextboxStyle,TextBox的样式。

OuterStyle,设置控件外框的样式。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EnableClientScript设为false可以把控件变成一个普通的TextBox。

AutoFlexTextBox 只是一个简单的多行文本域,可以自动根据内容伸缩,可以设定伸编的最大限度,此控件创意来源于网上,不记得是哪位仁兄的了,特此说明。

MaxHeight最大高度。

 

 

 

下载d

 


 

请关注本Blog的计划和动向。

请提出本控件组的改进建议,特别是验证Type的扩展,非常感谢。

 

用以下方法试用一下,可快速预览功能:

if(!IsPostBack)
   {
    THINControls.WebControls.THINTextBox.ValidateTextBox valid;
    for(int i = 0 ; i < 22 ; i ++)
    {
     valid = new THINControls.WebControls.THINTextBox.ValidateTextBox();
     valid.CountLengthMode = THINControls.WebControls.THINTextBox.LengthMode.BigCharEqualTwo;
     valid.ID = "valid" + i.ToString();
     valid.MinLength = 5;
     valid.MaxLength = 20;
     valid.TextValidType = (THINControls.WebControls.THINTextBox.ValidType)i;
     valid.IsLimitLength = true;
     valid.ErrorMessage = ((THINControls.WebControls.THINTextBox.ValidType)i).ToString();
     PlaceHolder1.Controls.Add(valid);

    }
   }

楼下兄弟说会失效,你看看这个图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

抱歉!评论已关闭.