1 自定义校验规则代码

<script type="text/javascript">
//使用validate插件进行表单的校验
$(function(){
$("#myform").validate({
rules:{
checkCode:{
"required":true,
"checkVerificationCode":true
} },
messages:{
checkCode:{
"required":"验证码不能为空",
"checkVerificationCode":"验证码输入错误"
}
}
});
}); //自定义校验规则校验验证码是否正确
$.validator.addMethod(
//规则的名称
"checkVerificationCode",
//校验的函数
function(value,element,params){ //定义一个标志
var isTrueFlag= false; //value:表单输入框中输入的内容
//element:被校验的元素对象
//params:规则对应的参数值
//目的:对输入的checkCode进行ajax校验
$.ajax({
"async":false,/*必须要是同步的的方式 */
"url":"${pageContext.request.contextPath}/checkVC",
"data":{"checkCode":value},
"type":"POST",
"dataType":"json",
"success":function(data){
isTrueFlag = data.isTrue;
/* alert(isTrueFlag); */
} }); //返回false代表该校验器不通过
return isTrueFlag;
} ); </script>

2 servlet代码

package www.test.web.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class CheckVCServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 解决乱码问题
request.setCharacterEncoding("UTF-8"); // 判断验证码是否正确
// 获得页面输入的验证
String checkCode_client = request.getParameter("checkCode");
System.out.println(checkCode_client);
// 获得生成图片的文字的验证码
String checkCode_session = (String) request.getSession().getAttribute("checkcode_session");
System.out.println(checkCode_session);
// 比对页面的和生成图片的文字的验证码是否一致
boolean isTrue=true;
if (!checkCode_session.equals(checkCode_client)) {
isTrue=false;
}
String json ="{\"isTrue\":"+isTrue+"}"; response.getWriter().write(json);
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
} }

注意:表单校验不通过的时候不会提交。

案例17-validate自定义校验规则校验验证码是否输入正确的更多相关文章

  1. 案例16-validate自定义校验规则校验用户名是否存在

    1 知识点 2 register.jsp代码 注意自定义校验规则的时候,提交必须是同步的方式. <%@ page language="java" contentType=&q ...

  2. Jquery Validate自定义验证规则,一个汉字等于两个字符长度

    使用Jquery validate时写的一些东西,在这里做个笔记 在使用 Jquery validate 的minlength和maxlength进行文本框内容长度验证的时候,对于一个汉字的长度检测结 ...

  3. shiro 实现自定义权限规则校验

    <span style="font-family: Arial, Helvetica, sans-serif;">在系统中使用shiro进行权限管理,当用户访问没有权限 ...

  4. SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.打包简介 springboot的打包方式有很多种.可以打war ...

  5. EasyUI 扩展自定义EasyUI校验规则 验证规则

    $.extend($.fn.validatebox.defaults.rules, {CHS: {validator: function (value, param) {return /^[\u039 ...

  6. EasyUI 扩展自定义EasyUI校验规则 验证规则(常用的)

    $.extend($.fn.validatebox.defaults.rules, { CHS: { validator: function (value, param) { return /^[\u ...

  7. JQuery -- Validate, Jquery 表单校验

    1. Jquery 表单验证需要插件 jQuery validation 1.7  ---验证插件需要:jQuery 1.3.2 或 1.4.2版本 http://jquery.bassistance ...

  8. Jquery Validate 相关参数及常用的自定义验证规则

    一.官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 二.默认校验规则 1 2 3 4 5 6 7 8 9 10 1 ...

  9. EasyUI 扩展自己定义EasyUI校验规则 验证规则(经常使用的)

    比如 校验输入框仅仅能录入0-1000之间 最多有2位小数的数字 表单<input type="text" id="rate" name="ra ...

随机推荐

  1. JAVA并发设计模式学习笔记(二)—— Single Threaded Execution Pattern

    注:本文的主要参考资料为结城浩所著<JAVA多线程设计模式>. 单线程执行模式(Single Threaded Execution Pattern)是最简单的多线程设计模式,几乎所有其他的 ...

  2. Java的StringTokenizer类

    StringTokenizer是java中object类的一个子类,继承自 Enumeration接口.此类允许一个应用程序进入一个令牌(tokens),而且StringTokenizer类用起来比S ...

  3. webUploader 的使用

    地址:http://fex.baidu.com/webuploader/demo.html 这个主要是扒的demo 引用<link href="~/Scripts/webuploade ...

  4. C#中的线程

    1.线程Thread 多线程的意义在于一个应用程序中,有多个执行部分可以同时执行:对于比较耗时的操作(例如io,数据库操作),或者等待响应(如WCF通信)的操作,可以单独开启后台线程来执行,这样主线程 ...

  5. path的用法和所遇错误

    首先上源代码: def _path(route, view, kwargs=None, name=None, Pattern=None): if isinstance(view, (list, tup ...

  6. “全栈2019”Java第六十六章:抽象类与接口详细对比

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. uC/OS-II 函数之消息队列相关函数

    上文主要介绍了信号量相关的函数,本文介绍消息队列相关的函数:OSQCreate()建立消息队列函数,OSQPend()任务等待消息函数,其他的消息函数. 消息队列介绍 消息队列是µC/OS-II中另一 ...

  8. 针对myeclipse6.5无法自动生成toString方法

    public void getToStringSTR(){ Field[] fs = this.getClass().getDeclaredFields(); for (int i = 0; i &l ...

  9. Kettle 值映射

    在费用转换里面做了两个值映射.一个是编码.一个是名称.其中两个值映射设置不一样效果不一样. 第一个编码映射 目标字段名不为空,则表示会新增字段.其中复核源值条件的都会转换为目标值,不符合条件的会用[不 ...

  10. odoo 开发 context 上下文的用法

    context   这是一个上下文,运用很灵活  得到整个context   self.context_get() self.env['res.users'].context_get() 得到cont ...