关于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 相关文章推荐
很酷的javascript loading效果代码
Jun 18 Javascript
javascript下高性能字符串连接StringBuffer类
Aug 16 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
Aug 31 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
Apr 26 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 Javascript
图文详解Javascript中的上下文和作用域
Feb 15 Javascript
Bootstrap笔记之缩略图、警告框实例详解
Mar 09 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
Sep 20 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
Oct 30 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
vue项目中跳转到外部链接的实例讲解
Sep 20 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
May 09 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与已存在的Java应用程序集成
2006/10/09 PHP
动易数据转成dedecms的php程序
2007/04/07 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
一步步解析Python斗牛游戏的概率
2016/02/12 Python
python连接数据库的方法
2017/10/19 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
Python如何操作office实现自动化及win32com.client的运用
2020/04/01 Python
Django跨域请求原理及实现代码
2020/11/14 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
常务副总经理岗位职责
2014/04/12 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
教师四风问题整改措施
2014/09/25 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
个人事迹材料怎么写
2014/12/30 职场文书
社区公民道德宣传日活动总结
2015/03/23 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
2015暑假假期总结
2015/07/13 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang