• 【转载】jquery validate验证插件,在ajax提交方式下的验证


    正常的表单都是使用submit按钮来提交,jquery  validate插件可以方便的做表单验证。

    做一个发送短信的功能,向目标表插入多条记录,界面采用ajax来提交表单,等待效果直接用ext的遮罩了。

    但是如何验证却碰到问题。

    解决方式很简单,表单跟正常表单一样,validate的submitHandler,invalidHandler这2个方法都需要覆盖,都 return false;这样表单就不会在点击按钮的时候提交了,表单验证跟正常验证起作用。submitHandler在return 之前写上我们的表单处理代码就ok了。

    代码如下,可以忽略ext相关代码。

     1 //表单验证
     2     $("#query").validate({
     3         onkeyup  : false,
     4         onclick  : false,
     5         onfocusout : false,
     6             rules : {
     7                 msg : {
     8                     required    : true,
     9                     maxlength    : 10
    10                 } 
    11             },
    12             messages:{
    13                 msg:{
    14                     required    : '请输入短信内容!',
    15                     maxlength    : '长度超过10!'
    16                 } 
    17             },
    18             showErrors : function(errorMap, errorList) {
    19                 var msg = "";   
    20                 $.each(errorList, function(i,v){   
    21                   msg += (v.message+"
    ");   
    22                 });   
    23                 if(msg!="")
    24                 Ext.Msg.alert('表单',msg + fix);
    25             },
    26             invalidHandler : function(){
    27                 return false;
    28             },
    29             submitHandler : function(){
    30                 //表单的处理
    31                 Ext.Msg.confirm("确认", "是否确认发送?" + fix, function(button,text){   
    32                    if(button == 'yes'){
    33                            loadMarsk.show();
    34                            $.ajax({
    35                                url:'<%=basePath %>promotionAction.do?method=group',
    36                                dataType:'json',
    37                                type:'post',
    38                                data:$('#query').serialize(),
    39                                error:function(){
    40                                    Ext.Msg.alert('错误','请求错误!' + fix);
    41                                    loadMarsk.hide();
    42                                },
    43                                success:function(data){
    44                                    Ext.Msg.alert('成功',data.msg + fix);
    45                                    loadMarsk.hide();
    46                                }
    47                            })
    48                    }
    49                 } );   //confirm
    50                 return false;//阻止表单提交
    51             }
    52         });

    关键在于:validate的submitHandler,invalidHandler这2个方法都需要覆盖,都 return false;

    转自:http://www.cnblogs.com/longterm/archive/2012/05/18/2507594.html

  • 相关阅读:
    Atom + activate-power-mode震屏插件Windows7下安装
    通过Google身份验证器加强Linux帐户安全
    adb 常用命令总结
    excel 文件加密
    docker 进入容器命令行 /bin/bash 后不支持中文
    无法获取 gcr.io 上的镜像的解决方法
    mysql unix 时间戳转换
    docker 镜像如何导入导出以及建立自己的镜像仓库
    asp.net core 文件的处理
    docker compose 设置环境变量
  • 原文地址:https://www.cnblogs.com/hycms/p/3980211.html
Copyright © 2020-2023  润新知