官网地址: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. Struts2系列笔记(4)---Ation类访问servlet

    Ation类访问servlet Ation类有三种方式servlet: (1)间接的方式访问Servlet API  ---使用ActionContext对象 (2)  实现接口,访问Action时完 ...

  2. 原来JS是这样的 - 提升, 作用域 与 闭包

    引子 长久以来一直都没有专门学过 JS ,因为之前有自己啃过 C++ ,又打过一段时间的算法竞赛(写得一手好意大利面条),于是自己折腾自己的网站的时候,一直都把 JS 当 C 写.但写的时候总会遇到一 ...

  3. 【Java基础】反射机制

    反射 反射可以使我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码链接.反射允许我们在编写和执行时,使我们的代码能够接入装载到JVM中的类的内部信息,而不是源代码中选定的类 ...

  4. 每天一个linux命令(56)--crontab命令

    上一节学习了 at  命令是针对仅运行一次的任务,循环运行的例行性计划任务,Linux 系统则是由 cron(crond)这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...

  5. 每天一个linux命令(51)--grep命令

    linux系统中grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.grep 全称是 global regular expression print,表示全局正则 ...

  6. Laravel笔记目录

    一.MVC 1.路由 2.控制器与视图 3.控制器与路由的绑定 4.中间件 二.模式与数据库 1.数据库迁移 2.填充测试数据 3.ORM入门 4.分页 三.Laravel的生命周期 1.Larave ...

  7. 徒手用Java来写个Web服务器和框架吧<第二章:Request和Response>

    徒手用Java来写个Web服务器和框架吧<第一章:NIO篇> 接上一篇,说到接受了请求,接下来就是解析请求构建Request对象,以及创建Response对象返回. 多有纰漏还请指出.省略 ...

  8. 一篇文章为你深度解析HTTPS 协议

    一.前言 微信小程序如期发布,开发者在接入微信小程序过程中,会遇到以下问题: 小程序要求必须通过 HTTPS 完成与服务端通信,若开发者选择自行搭建 HTTPS 服务,那需要自行 SSL 证书申请.部 ...

  9. 网络安全实验室 脚本关通关writeup

    [1]key又又找不到了查看源代码.发现key的路径,点击进行了302跳转,抓包,得到key [2]快速口算要2秒内提交答案,果断上python import requests,re s = requ ...

  10. 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装

    KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...