自定义高级验证textbox

从现在开始,我每周坚持会写一篇原创技术博文。

 转载请必须注明来源 http://blog.csdn.net/learnJSee

首篇,就介绍用asp.net 继承System.Web.UI.WebControls.TextBox可做出许多实用功能强大的控件,

如TextBox、NumericTextBox、TrimTextBox

调用<cc1:TextBoxID="txtUserName" runat="server" CanBeNull="必填"Custom="checkuser" HintInfo="英文字母,数字, 短线和下划线组成"

></cc1:TextBox>

  Custom 后面带自己声明的js函数,如下例是使用异步判断是否同名用户

    function checkuser(oSrc, args) {

 

            var Str = document.getElementById("<% = txtUserName.ClientID%>").value;

            var regu = "^[0-9a-zA-Z\_-]+$";

            var re = new RegExp(regu);

 

            $.ajax({

                async: false, //同步,异步不行,在ajax为返回之前,函数就结束,提交IsValid的值了。

                type: "POST",

                url: "Manage/CustomValidatorHander.ashx",

                data: "type=checkuser&data=" + args.Value,

                success: function(msg) {

                    if (msg == "") {

 

                        if (re.test(Str)) {

 

                            document.getElementById('error').innerHTML ="<img src=\"images/true.gif\" /> 该登录用户可用!";

                        }

                        else {

                            args.IsValid = false;

                            document.getElementById('error').innerHTML ="<img src=\"images/false.gif\" /> 输入字符串是否只由英文字母,数字, 短线和下划线组成";

                        }

 

                    }

                    else {

 

                        document.getElementById('error').innerHTML ="<img src=\"images/false.gif\" /> " + msg;

                        args.IsValid = false;

                    }

                }

            });

        }

 

其中CanBeNull其是否启用必填判断,

相当于使用自带的验证控件

<asp:RequiredFieldValidatorID="RequiredFieldValidator3"runat="server" ErrorMessage="请如实填写真实姓名"                      ControlToValidate=" txtUserName ">

</asp:RequiredFieldValidator>

 

RequiredFieldType 属性是可验证的类型。如图

相关自己多次调用asp:RegularExpressionValidator再写正则表达式.

使用HintInfo 有点复杂,它需要有样式配合和加入另一个控件<cc1:HintID="Hint1" runat="server" />便可实现浮动提示窗,效果如图

 

<script language="javascript" src="../js/Control.js"></script>

<style>

        .messagetext

        {

            overflow: hidden;

            zoom: 1;

            border-left: 1px solid #000;

            border-right: 1px solid #000;

            padding: 0 10px;

            text-align: left;

            background: #ffffe1;

            word-break: break-all;

            letter-break: break-all;

        }

        .messagetext img

        {

            margin-right: 5px;

        }

   </style>

 

二、NumericTextBox

可控文本框内容仅能输入数字

有AllowDecimal属性设置是否带小数点。

三、TrimTextBox

自动去空格控件。

详细控件代码,下载地址为

  http://download.csdn.net/detail/learnjsee/4417736
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值