关于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中回调函数的学习笔记
Jul 31 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
JavaScript中日常收集常见的10种错误(推荐)
Jan 08 Javascript
jquery tmpl模板(实例讲解)
Sep 02 jQuery
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
vue实现自定义多选与单选的答题功能
Jul 05 Javascript
JS实现提示效果弹出及延迟隐藏的功能
Aug 26 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
Apr 30 Javascript
基于openlayers实现角度测量功能
Sep 28 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
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
AngularJS指令中的绑定策略实例分析
2016/12/14 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
使用python3实现操作串口详解
2019/01/01 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
python logging设置level失败的解决方法
2020/02/19 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
详解基于canvas的视频遮罩插件
2018/01/04 HTML / CSS
一套.net面试题及答案
2016/11/02 面试题
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
企业精神口号
2014/06/11 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
教师节倡议书2015
2015/04/27 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
深入理解go slice结构
2021/09/15 Golang