关于jquery.validate1.9.0前台验证的使用介绍


Posted in Javascript onApril 26, 2013

一、利用jquery.form插件提交表单方法使用jquery.validate插件

现象:当提交表单时,即使前台未验证通过,也照常提交表单。

解决办法:

$('#myForm').submit(function(){
    if (!$(this).valid()) return false;//加上此句OK
    $('.error').html('');
    $("#go").prop("disabled",true);
    $(this).ajaxSubmit({
        type:"POST",
        //beforeSubmit: showRequest,
        dataType:'json',
        success: showResponse
    });
    return false;
});

相关说明:

定制提交方式(ajax提交)
如果使用ajax方式提交,那请采用如下两种方式和校验框架结合
1)、使用submitHandler属性配置ajax提交,submithandler:当表单全部校验通过之后会回调配置的代码,此处也就是当校验通过之后调用ajax提交。
2)、使用valid方法,监听form的submit事件,当$('#form').valid()返回true的时候再提交。

通过监听form的submit事件,对form进行ajax提交。示例完整代码如下:

$(document).ready(function(){
    $('#myForm').submit(function(){
        if (!$(this).valid()) return false;
        $('.error').html('');
        $("#go").prop("disabled",true);
        $(this).ajaxSubmit({
            type:"POST",
            //beforeSubmit: showRequest,
            dataType:'json',
            success: showResponse
        });
        return false;
    });
    var validator = $("#myForm").validate({
        rules: {
            username: "required",
            email: {
                required: true,
                email: true
            }
        },
        messages: {
            username: "请输入姓名",
            email: {
                required: "请输入Email地址",
                email: "请输入正确的email地址"
            }
        }
    });
});
function showResponse(jsonData,statusText)
{
    if(statusText=='success')
    {
        $("#go").prop("disabled",false);
        if (jsonData.status == 1)
        {
            $("#return").html(jsonData.message);
        }
        else
        {
            $.each(jsonData.errors, function(k,v){
                //$('#output').find('ul').append('<li>' + v + '</li>');
                $('.e_' + k).html(v);
            });
        }
    }
}

二、控制错误信息位置的方法
现象一:

我在注册表单新加了一个验证码。验证结果错误时,这个错误信息跑到验证码前面去了。如下图所示:

关于jquery.validate1.9.0前台验证的使用介绍

目的:让错误信息在验证码后面

现象二:

关于jquery.validate1.9.0前台验证的使用介绍

上图中的红色提示内容,我想移到 (* 必填) 的后面。

上面两个现象,可通过jquery.validate自带的控制错误信息位置的方法——'errorPlacement',使用也很方便:

errorPlacement: function(error, element)
{
    error.appendTo(element.parent());
}
Javascript 相关文章推荐
js实现图片放大缩小功能后进行复杂排序的方法
Nov 08 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
Jan 19 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
vue基于Element构建自定义树的示例代码
Sep 19 Javascript
js数组去重的N种方法(小结)
Jun 07 Javascript
微信小程序实现图片上传放大预览删除代码
Jun 28 Javascript
使用node搭建自动发图文微博机器人的方法
Mar 22 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 Javascript
vue实现简易计算器功能
Jan 20 Vue.js
jQuery.Validate验证库的使用介绍
Apr 26 #Javascript
基于jQuery.Validate验证库知识点的详解
Apr 26 #Javascript
关于jQuery新的事件绑定机制on()的使用技巧
Apr 26 #Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
Apr 25 #Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
Apr 25 #Javascript
JQuery为textarea添加maxlength属性并且兼容IE
Apr 25 #Javascript
同时使用n个window onload加载实例介绍
Apr 25 #Javascript
You might like
PHP strtotime函数详解
2009/12/18 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
js异或加解密效果代码
2008/06/25 Javascript
浅析javascript闭包 实例分析
2010/12/25 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
浅谈html转义及防止javascript注入攻击的方法
2016/12/04 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
Python笔记之观察者模式
2019/11/20 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
CSS3中的常用选择器使用示例整理
2016/06/13 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
初中生物教学反思
2014/01/10 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
对孩子的寄语
2014/04/09 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android