官网地址:https://github.com/efri-yang/mobileValidate#%E5%8F%82%E6%95%B0

使用方法:

html如下:

<li class="li"><label class="label">车牌号:</label><span class="required"><input type="text" class="field-text input" id="carNumber" name="carNumber" belong="roCar" data-required="true" data-descriptions="carNumber" data-describedby="carNumber-description" data-conditional="digit" data-max="8"></span>
    <div id="carNumber-description"></div>
</li>
<li class="li"><label class="label">制造厂商:</label><span class="required"><input type="text" class="field-text input" id="manufacturer"  data-required="true" data-descriptions="manufacturer" data-describedby="manufacturer-description"></span>
    <div id="manufacturer-description"></div>
</li>
<li class="li"><label class="label">车辆型号:</label><span class="required"><input type="text" class="field-text input" id="carType" data-required="true" data-descriptions="carType" data-describedby="carType-description" ></span>
    <div id="carType-description"></div>
</li>
<li class="li"><label class="label">出厂年份:</label><span><input data-role="number" data-digit="0" type="number" class="input" name="factoryYear" id="factoryYear" belong="roCar" data-max="4" data-descriptions="factoryYear" data-describedby="factoryYear-description" data-conditional="greaterNow"></span>
    <div id="factoryYear-description"></div>
</li>
<li class="li"><label class="label">车架号码:</label><span><input type="text" class="input" name="frameNumber" id="frameNumber" belong="roCar" data-max="20" data-descriptions="frameNumber" data-describedby="frameNumber-description" data-conditional="digit"></span>
    <div id="frameNumber-description"></div>
</li>

js如下:

//表单验证
    var descriptions={
        carNumber:{
            required : '<div class="field-invalidmsg" style="color:red;">请输入车牌号</div>',
            conditional : '<div class="field-invalidmsg" style="color:red;">车牌号必须小于8位</div>',
            valid : ""
        },
        manufacturer:{
            required : '<div class="field-invalidmsg" style="color:red;">请输入制造厂商</div>',
            valid : ""
        },
        carType:{
            required : '<div class="field-invalidmsg" style="color:red;">请输入车辆型号</div>',
            valid : ""
        },
        frameNumber:{
            conditional : '<div class="field-invalidmsg" style="color:red;">车架号码必须小于20位</div>',
            valid : ""
        },
        customerName:{
            conditional : '<div class="field-invalidmsg" style="color:red;">姓名必须小于20位</div>',
            valid : ""
        },
        email:{
            conditional : '<div class="field-invalidmsg" style="color:red;">email必须小于100位</div>',
            valid : ""
        },
        phone:{
            conditional : '<div class="field-invalidmsg" style="color:red;">手机号必须小于13位</div>',
            valid : ""
        },
        textarea1:{
            conditional : '<div class="field-invalidmsg" style="color:red;">备注必须小于200位</div>',
            valid : ""
        },
        couponCode:{
            conditional : '<div class="field-invalidmsg" style="color:red;">优惠券必须小于50位</div>',
            valid : ""
        },
        roNumber:{
            required : '<div class="field-invalidmsg" style="color:red;">请输入工单号</div>',
            conditional : '<div class="field-invalidmsg" style="color:red;">工单号必须小于16位</div>',
            valid : ""
        },
        appointInDate: {
            conditional : '<div class="field-invalidmsg" style="color:red;">请输入预约进厂时间</div>',
            valid : ""
        },
        inDate:{
            required : '<div class="field-invalidmsg" style="color:red;">请输进厂时间</div>',
            valid : ""
        },
        factoryYear: {
            conditional : '<div class="field-invalidmsg" style="color:red;">出厂年份要大于1900小于今年</div>',
            valid : ""
        },
        textarea2:{
            conditional : '<div class="field-invalidmsg" style="color:red;">备注必须小于200位</div>',
            valid : ""
        }
    };
    $("#form").validate({
        conditional:{
            isappointed:function(val){
                var flag;
                return (isAppointed==true&&val=="") ? false :true;
            },
            greaterNow:function(val){
                if(val){
                    return ((val<=new Date().getFullYear())&&(val>=1900)||val=="0")?true:false;
                }
                else return true;
            },
            digit:function(val,options){
                var digit=$(this).attr("data-max");
                var length=val.length;
                return (length<=digit)?true:false;
            }
        },
        valid: savefunc,
        descriptions:descriptions
    });
})

重点:

html配置:

 data-required="true" data-descriptions="carNumber" data-describedby="carNumber-description" data-conditional="digit"

js配置:

descriptions
conditional
valid
渲染后的效果如下:

在自己的使用过程中由于插件受到自己的框架影响报错,我自己修改了一下又能用了

$.fn.mvalidateDestroy=function(){
    var $form=$(this),$fields,
        dataValidate=$form.data(name);
    if(typeof dataValidate!="object") {
        if ($form.is('form') && $.isPlainObject(dataValidate) && typeof(dataValidate.options.namespace) == 'string') {
            $fields = $form.removeData(name).find(allTypes);
            $fields.off('.' + dataValidate.options.namespace);
        }
    }
    return $form;
}
后来查了一下原因,是因为我用了sui组件,sui修改了zepto.js的data方法,使之能够存储对象,只需要再判断一次datavalidate是不是一个对象即可解决这个报错问题


mvalidator手机端校验的更多相关文章

  1. 写了个TP5下PHP和手机端通信的API接口校验

    写了个PHP和手机端通信的API接口校验 直接发函数吧 public function _initialize() { //定义密码和盐 $password="123456"; $ ...

  2. C#校验手机端或客户端

    以下代码用来检查,客户端是手机端还是PC端 string strUserAgent = Request.UserAgent.ToString().ToLower(); bool isMobile = ...

  3. 手机端的表单验证和PC端的不同

    1.手机端:由于页面小的局限性,表单验证从上到下依次进行,如果上一个验证不通过,则给出错误提示,代码中return回去,不必进行下一个的校验: 2.PC端:页面范围大,一般是在表单的后面或者下面,提示 ...

  4. 使用localResizeIMG3+WebAPI实现手机端图片上传

    前言 惯例~惯例~昨天发表的使用OWIN作为WebAPI的宿主..嗯..有很多人问..是不是缺少了什么 - - 好吧,如果你要把OWIN寄宿在其他的地方...代码如下: namespace Conso ...

  5. 《JS实现复制内容到剪贴板功能,可兼容所有PC浏览器,不兼容手机端》

    前记:本来原生的JS是有提供一个函数来实现这个功能(window.clipboardData),但是很遗憾,这个函数仅仅支持IE和FF浏览器,所以基本用处不大.下边介绍的是一个第三方插件库(ZeroC ...

  6. 【极品代码】一般人我不告诉他,手机端h5播放时不自动全屏代码

    已测适用于ios,某些安卓手机微信下播放视频会出现播放器控件(这个实在是无力吐槽噢,因为之前还遇到过微信播放完视频后竟然无法退出全屏出现广告的情况,只有播放完后刷新页面并且要放到框架页里才能屏蔽微信视 ...

  7. 判断是pc端还是手机端,并跳转到相应页面

    <!-- 判断浏览器是否为手机端 -->  <script>     // class     ! function(navigator) {         var user ...

  8. h5手机端下拉选择城市

    <!doctype html><html>    <head>            <meta http-equiv="Content-Type& ...

  9. PHP项目实现手机端和PC端的页面切换

    目前访问页面的要切换成手机端和PC端,原理是通过对设备作出判断,显示不同的功能和页面. 如果手机端和PC端的功能结构不相同,一般会写两套系统,一套适用于PC端,一套适用于手机端. 如果功能相同,则只需 ...

随机推荐

  1. [Spark] - HashPartitioner & RangePartitioner 区别

    Spark RDD的宽依赖中存在Shuffle过程,Spark的Shuffle过程同MapReduce,也依赖于Partitioner数据分区器,Partitioner类的代码依赖结构主要如下所示: ...

  2. WP8.1开发中找程序下的Assets文件夹

    这俩天在开发另一个程序时,遇到一个小问题:如何调用程序下的Assets文件夹及其下的文件和文件夹: 在网上找了两天,基本上是关于如何调用手机中库的方法,没找到有关介绍如何调用查找 编译前添加图片或其它 ...

  3. 【CNMP系列】CentOS7.0下安装MySql5.6服务

    接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...

  4. 规范 : angular 组合 jquery plugin

    jquery 会有document.ready ,这是会把model value 给 set 去 jquery ,如果set 不进,可能需要整个渲染(refresh).在操作时需要找到接口,在找到va ...

  5. 极光推送CTO黄鑫:技术人员要建立自己的知识图谱

    本周,我们邀请到了极光推送CTO兼首席科学家黄鑫进行人物专访,在展示风采的同时,也分享会员们对技术.对工作.对人生的感悟.       扎实的底层服务是扩张关键 极光推送是一个做第三方云服务的公司,在 ...

  6. fmt标签格式化数字和时间

    有时候需要格式化输出数字和时间,fmt 标签是个很好用的标签,下面是我做的总结: 在页面的头部加入这个标签 <%@ taglib uri="http://java.sun.com/js ...

  7. sqlserver的一些小知识点

    1.高效分页sql和储存过程 select top 每页条数 * from ( select ROW_NUMBER() over (order by id)as nid ,* from table01 ...

  8. How to build mscorlib.dll with visual studio

    Recently, Microsoft Corportation has released a new look for .NET Reference Source. And you may find ...

  9. n的阶乘

    涉及阶乘的都会产生大的数据,此时要变成long或者实在很大要使用BigInteger 题目描述 输入一个整数n,输出n的阶乘 输入描述: 一个整数n(1<=n<=20) 输出描述: n的阶 ...

  10. JS判断手机当前的系统类型

    <script language="javascript"> window.onload = function () { var n = navigator.userA ...