官网地址: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. IIS7.0发布后关于"不能在此路径中使用此配置节”的解决办法

    在系统为window sever2008,iis7.0上安装后发布出现 IIS Web Core 通知 BeginRequest 处理程序 尚未确定 错误代码 0x80070021 配置错误 不能在此 ...

  2. http状态码及解释

    简单版: 100  Continue   继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息 200  OK         正常返回 ...

  3. TCP协议详解

    TCP协议详解 一.TCP协议 1.TCP 通过以下方式提供可靠性: ·  ◆ 应用程序分割为TCP认为最合适发送的数据块.由TCP传递给IP的信息单位叫做报文段. ·  ◆ 当TCP发出一个报文段后 ...

  4. 【数据标识】iOS App下载渠道的统计需求

    需求概述 我们现在有一个需求,某一个活动需要拉新所谓的拉新一般是推App下载,这个用户通过这个活动下载了App后,我们需要做到[在数据库中记录这个用户下载这个App是通过那个二维码渠道的,从效果上说, ...

  5. 每天一个linux命令(38)--lsof 之FD文件描述符

    一般lsof 会输出以下这些信息: COMMAND: 进程的名称 PID:进程标识符 PPID:父进程标识符(需要指定-R参数) USER:进程所有者 PGID:进程所属组 FD:文件描述符,应用程序 ...

  6. 【Unity优化】我所理解的IL指令

    版权声明:本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.csdn.net/andrewfan 指令格式 英文单词全写 指令解释 nop no operation perform ...

  7. async/await与promise(nodejs中的异步操作问题)

    此文只是粗略介绍使用方法,欲了解核心概念请参考官方文档或其他资料. 举例写文章详情页面的时候的一个场景:首先更改文章详情中的 PV,然后读取文章详情,然后根据文章详情中文章 Id 查阅该文章评论和该文 ...

  8. solr 学习之简介及安装

    一.solr简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索 ...

  9. jquery 中时间的运用

    运用Moment插件比较方面,有兴趣可以仔细阅读 http://momentjs.cn/

  10. SQL Sever数据库的基本操作和它的建立

    SQL数据库: 1.数据库概述 (1) 用自定义文件格式保存数据的劣势. (2) DBMS(DataBase Management System,数据库管理系统)和数据库,平时谈到"数据库& ...