jquery.validate自定义验证方法(检验邮箱是否存在)

本文主要是介绍jquery.validate自定义验证方法(检验邮箱是否存在),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.前端页面代码

<form method="post" id="registerInfo" action="${ctx }/user/register">
            <div class="accountInfoTitle"><div class="accountInfoTitleText">Create Your Account</div><div class="accountInfoTitleLine"></div></div>
            <div class="email">
                <div class="boxname"><span>*</span>Email:</div>
                <div><input  type="text" name="email" value="${user.email }" id="email"/></div>
            </div>

             <div class="submit">
                <input type="submit" value="Create My Account" id="registersubmit" οnclick="registerCheck()"/>
            </div>

</form>

2.javascript脚本

//注册信息验证
$(function(){
    //自定义检验邮箱是否存在的方法
    $.validator.addMethod(
            "checkEmailIsExsited",
            function(value,element,param){
                var a=checkEmail(value);
                if(a=="1"){
                    alert(1);
                }else{
                    alert(0);
                }
            }
    );
    $("#registerInfo").validate({
        submitHandler:function(form){
            $.cookie("email", decodeURI($("#email").val()),"{expires:7,secure:true}");
            form.submit();
        } ,
        rules:{
            email:{
                required:true,
                email:true,
                remote:{
                      url: "checkEmail",     //后台处理程序
                      type: "POST",               //数据发送方式
                      dataType: "json",           //接受数据格式   
                      data: {                     //要传递的数据
                          email: function() {
                           return $("#email").val();
                          }
                      }
                 }
            },
            password:{
                required:true,
                minlength:6
            },
            repassword:{
                required:true,
                equalTo: "#password"
            },
            companyAddress:{
                required:true
            },
            bizContactor:{
                required:true
            },
            companyName:{
                required:true
            },
            phoneNo:{
                required:true
            },
            codeShow:{
                required:true
            }
        },
        messages:{
            email:{
                required:"Account field is required.",
                email:"Please enter a valid email address.",
                remote:"This Email has been registered, you can <a href='${ctx}/user/toLogin'>[ login ]</a>"
            },
            password:{
                required:"Password field is required.",
                minlength:"Password length must be greater than 6."
            },
            repassword:{
                required:"Confirm Password field is required.",
                equalTo: "Please enter the same value again."
            },
            companyAddress:{
                required:"Company address field is required."
            },
            bizContactor:{
                required:"BizContactor field is required."
            },
            companyName:{
                required:"Company name field is required."
            },
            phoneNo:{
                required:"Phone number field is required."
            },
            codeShow:{
                required:"Please enter verification code."
            }
        },
        errorElement: "em",
        focusInvalid: true,
        success: function(em) {
            em.text("").addClass("success");
        }
    });
});

3.后台java代码

/**
     * 检验邮箱是否存在
     *
     * @return
     * @author ZuoChangjun 2014-11-27 15:02:54
     */
    @RequestMapping({ "/checkEmail" })
    public String checkEmail(@RequestParam String email,HttpServletResponse response) {
        PrintWriter pw = null;
        try {
            User user = userService.selectByEmail(email);
            pw = response.getWriter();
            if (user == null) {
                pw.print("true");     //此处需要注意   为字符形式的true/false
            } else {
                pw.print("false");
            }
        } catch (Exception e) {
            LOG.error(e.getMessage(), e);
            return ErrorPages._500;
        } finally {
            if (pw != null) {
                pw.close();
            }
        }
        return null;
    }

      

这篇关于jquery.validate自定义验证方法(检验邮箱是否存在)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026102

相关文章

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提