关于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 相关文章推荐
jquery dialog键盘事件代码
Aug 01 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
Nov 20 Javascript
js+html5操作sqlite数据库的方法
Feb 02 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
微信小程序之裁剪图片成圆形的实现代码
Oct 11 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
微信小程序开发注意指南和优化实践(小结)
Jun 21 Javascript
d3.js实现图形缩放平移
Dec 19 Javascript
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生成静态HTML页面最简单方法示例
2015/04/09 PHP
php经典算法集锦
2015/11/14 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
Jquery公告滚动+AJAX后台得到数据
2011/04/14 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
2014/11/24 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
老生常谈jquery中detach()和remove()的区别
2017/03/02 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
Python实现合并字典的方法
2015/07/07 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
python十进制转二进制的详解
2020/02/07 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python过滤序列元素的方法
2020/07/31 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
国外的一些J2EE面试题一
2012/10/13 面试题
从原生JavaScript到React深入理解
2022/07/23 Javascript