ValidateTextBox发布--绝对实用


最新更新版本,比这个版好用多了,呵呵 :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);

    }
   }


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


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2005-04-14 11:39  Think  阅读(5383)  评论(28编辑  收藏  举报