玩转EasyUI之ValidateBox

本文探讨了在EasyUI中实现手机号验证的过程,通过自定义验证规则解决了未找到内置Mobile验证的问题,分享了从学习到实践再到总结的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求背景


在如下界面中,要求客户端能自动验证用户输入的内容是否符合要求。其效果就是图中邮箱地址的效果,如果不符合要求,则用easyUI本身的样式来提示。这里邮箱的验证已经完成,可手机号码的验证却没有成功。


邮箱地址的代码:

<tr style="font-size: 14px;">
      <th style="width: 190px; text-align: right; font-weight: normal">手机号:</th>

      <th style="width: 190px;">

      <input class ="easyui-validatebox"  data-options="required:true,validType:'Mobile'" maxlength=11 style="width:190px" id="TelNum" type="text"value="@ViewData["TelNum"]"  required="required" />

      </th>


       <th style="width: 190px; text-align: right; font-weight: normal">邮箱地址:</th>
       <th style="width: 220px;">

            <input class ="easyui-validatebox" data-options="validType:'email'" style="width:208px" id="Email" type="text" value="@ViewData["Email"]" required="required" maxlength=30 />

       </th>

 </tr>

------------------------------------------------------------------------------------------------------

问题分析

     验证的问题之前在学习ASP.Net的时候已经用到过了,ASP.Net中把验证封装成为验证控件,作用于某个具体的需要被验证的控件。所以类比学习,EasyUI的封装也应该是这个道理。可是现在ValidType中email能用,Mobile不能用,为什么呢?

    可以可能的是问题一定是出现在EasyUI这里了。当找不到问题的根源时,只能提出基于一定知识和能力基础下的假想了。

可能1:EasyUI可能不是使用Mobile这个关键字。

可能2:EasyUI可能根本没有封装手机号的验证方法。

--------------------------------------------------------------------------------------------------

实践过程

可能1:

我把Mobile中的M采用小写试了试,同样不能用,果断放弃。

可能2:

面对第二种可能性,我去网上转了转。果然有不少介绍类似问题的文章,于是现学现卖。

1、新建一个JS文件

2、编写代码如下:

$.extend($.fn.validatebox.defaults.rules, {

          //移动手机号码验证  
    Mobile: {//value值为文本框中的值  
        validator: function (value) {
            var reg = /^1[3|4|5|8|9]\d{9}$/;
            return reg.test(value);
        },
        message: 'Please enter your mobile phone number correct.'
    },

})

3、界面引用新建的JS文件

刷新网页,测试成功!


------------------------------------------------------------------------------------------------------

思考总结

1、EasyUI虽然已经很强大,但它也不是万能的。不要迷信权威。

2、学会思考比掌握知识要重要,因为前一个代表未来,后一个代表过去。

3、学习过程中要善于做Demo。在学习过程中肯定会遇到暂时不是很明白的问题,做一个小Demo也许能让我们入门,然后快速提高。再打的问题都能分解,然后逐个突破。

------------------------------------------------------------------------------------------------------

知识补充

更多拓展EasyUI验证的方法

$.extend($.fn.validatebox.defaults.rules, {
    //验证汉字  
    CHS: {
        validator: function (value) {
            return /^[\u0391-\uFFE5]+$/.test(value);
        },
        message: 'The input Chinese characters only.'
    },
    //移动手机号码验证  
    Mobile: {//value值为文本框中的值  
        validator: function (value) {
            var reg = /^1[3|4|5|8|9]\d{9}$/;
            return reg.test(value);
        },
        message: 'Please enter your mobile phone number correct.'
    },
    //国内邮编验证  
    ZipCode: {
        validator: function (value) {
            var reg = /^[0-9]\d{5}$/;
            return reg.test(value);
        },
        message: 'The zip code must be 6 digits and 0 began.'
    },
    //数字  
    Number: {
        validator: function (value) {
            var reg = /^[0-9]*$/;
            return reg.test(value);
        },
        message: 'Please input number.'
    },
})


### 使用EasyUI ValidateBox在JSP项目中实现表单字段验证 #### HTML与JavaScript混合方法 通过HTML标签属性和JavaScript代码相结合的方式来设置`ValidateBox`。这种方式适合于简单的页面布局,其中可以直接在HTML元素上指定一些基本的验证规则。 ```html <td> <input type="text" name="password" required="true" id="password"> </td> <script> $(function(){ $("#password").validatebox({ required : true, missingMessage:'密码不能为空' }); }); </script> ``` 此段代码展示了如何利用ID选择器来初始化一个具有必填项约束条件的验证框[^1]。 #### 完全基于JavaScript的方法 对于更复杂的场景或动态创建DOM节点的情况,则推荐采用纯JS的形式来进行配置: ```javascript $("#password").validatebox({ required: true, validType: 'length[6,18]', // 自定义长度校验规则 invalidMessage: '请输入有效的密码!' }) ``` 上述脚本实现了对名为`password`输入域应用必要的验证逻辑,并指定了特定的有效性和错误消息处理机制。 #### 单纯依赖HTML标记的方式 最后一种也是最简洁的做法就是仅依靠HTML本身的特性完成初步的数据检验工作: ```html <td> <input type="text" name="username" id="username" required="true" class="easyui-validatebox" validType="namerules" invalidMessage="用户名无效"/> </td> ``` 这里不仅设置了必需填写的要求(`required`),还引入了一个额外类型的检查——即所谓的`validType`参数,它可以接受预定义的名字作为值(比如这里的`namerules`),也可以指向自定义函数用于执行更加精细化的检测过程。 除了以上提到的基础功能外,`ValidateBox`还能配合AJAX技术实现实时数据有效性确认等功能。当涉及到远程服务器端资源查询时尤为有用,例如判断某个电子邮箱地址是否已经被注册过等问题都可以借助此类手段解决[^3]。
评论 56
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值