JAVA_WEB项目之j使用query的验证框架的例子
来源:互联网 发布:腾讯网络认证 编辑:程序博客网 时间:2024/06/05 07:18
一般我们在做网站开发的时候都会遇到前台表单的验证,以及远程验证:类似于注册的用户名是否被占用,下面贴出个人在学习过程中编写的例子:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>首页</title> <script type="text/javascript" src="/shop/js/jquery-1.3.js"></script> <script type="text/javascript" src="/shop/js/jquery.validate.js"></script> <script type="text/javascript"> $(function(){ //自定义验证方法(方法名,方法体,错误消息) $.validator.addMethod("checkText",function(value, element,param){ //根据返回true或false来表示验证是否通过 console.log(value); console.log(element); console.log(param[0]+"-"+param[1]); return false; },"内容不能为空"); $("form").validate({ debug:true, //文本框在丢失焦点的时候才验证 onkeyup:false, rules:{ username:{ required:true, rangelength:[4,12], remote:{//远程验证,默认在表单会把参数和参数值传递过去 url: "shopAjax_ajaxDemo.action", type:"post" } }, pass:{ required:true, rangelength:[4,12] }, passconfirm:{ equalTo:"#pass" }, email:{ email:true }, file:{ required:true, accept:"gif|jpg" }, address:{ required:true }, test:{ checkText:[1,16] } }, messages:{ username:{ required:"用户名不能为空", rangelength:$.format("用户名的长度必须在{0}-{1}之间"), remote:"用户名被占用" }, pass:{ required:"密码不能为空", rangelength:$.format("密码的长度必须在{0}-{1}之间") }, passconfirm:{ equalTo:"密码不一致" }, email:{ email:"输入的邮箱格式不正确" }, file:{ required:"文件必须上传", accept:$.format("上传的文件格式必须为{0}") }, address:{ required:"请选择地址" } } }); }); </script> </head> <body> <form action="http://www.baidu.com" method="post"> 用户名:<input name="username" type="text"></br> 密码:<input name="pass" type="text" id="pass"></br> 确认密码:<input name="passconfirm" type="text"></br> 邮箱: <input type="text" name="email" /><br /> 照片:<input type="file" name="file" /><br> <select name="address"> <option value="广东">广东</option> <option value="广西">广西</option> </select></br> 测试:<input type="type" name="test"><br> <input type="submit" value="提交"> </form> </body></html>struts。xml配置:
<action name="shopAjax_*" class="registerDemo" method="{1}"><result name="stream" type="stream"></result></action>
后台远程验证:
package com.shop.action;import java.io.ByteArrayInputStream;import java.io.InputStream;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;@Controller("registerDemo")@Scope("prototype")public class RegisterDemo {private InputStream inputStream;private String username;public InputStream getInputStream() {return inputStream;}public void setInputStream(InputStream inputStream) {this.inputStream = inputStream;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String ajaxDemo(){if(username.equals("admin")){System.out.println(username);inputStream=new ByteArrayInputStream("false".getBytes());}else{System.out.println(username);inputStream=new ByteArrayInputStream("true".getBytes());}return "stream";}}
</pre>结果显示:<p></p><p><img src="http://img.blog.csdn.net/20140722170147552?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmNodWRvbmdzZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>如何制定错误消息的显示位置以及远程验证成功后的结果显示,下面用一个完整的例子来显示。</p><p><pre name="code" class="java"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>首页</title> <script type="text/javascript" src="/shop/js/jquery-1.3.js"></script> <script type="text/javascript" src="/shop/js/jquery.validate.js"></script> <script type="text/javascript"> $(function(){ //自定义验证方法(方法名,方法体,错误消息) $.validator.addMethod("checkText",function(value, element,param){ //根据返回true或false来表示验证是否通过 console.log(value); console.log(element); console.log(param[0]+"-"+param[1]); return false; },"内容不能为空"); $("form").validate({ debug:true, //文本框在丢失焦点的时候才验证 onkeyup:false, rules:{ username:{ required:true, rangelength:[4,12], remote:{//远程验证,默认在表单会把参数和参数值传递过去 url: "shopAjax_ajaxDemo.action", type:"post" } }, pass:{ required:true, rangelength:[4,12] }, passconfirm:{ equalTo:"#pass" }, email:{ email:true }, file:{ required:true, accept:"gif|jpg" }, address:{ required:true }, test:{ checkText:[1,16] } }, messages:{ username:{ required:"用户名不能为空", rangelength:$.format("用户名的长度必须在{0}-{1}之间"), remote:"用户名被占用" }, pass:{ required:"密码不能为空", rangelength:$.format("密码的长度必须在{0}-{1}之间") }, passconfirm:{ equalTo:"密码不一致" }, email:{ email:"输入的邮箱格式不正确" }, file:{ required:"文件必须上传", accept:$.format("上传的文件格式必须为{0}") }, address:{ required:"请选择地址" } }, errorPlacement:function(error,element){//跟一个函数,可以自定义错误放到哪里 element.parent("td").next().html(error); } , success:function(label){//验证成功后捆版的函数,参数是包含了错误消息的标签默认是label $(label).html(" "); $(label).attr("class","success"); alert($(label).attr("class")); } }); }); </script> <style type="text/css"> /** 错误消息的样式 */ form label{ color:red; background-image: url("image/error.png"); background-repeat:no-repeat; padding-left:25px; } /** 成功消息的样式 */ .success{ background-repeat:no-repeat; padding-left:25px; background-image: url("image/right.png"); } </style> </head> <body> <form action="http://www.baidu.com" method="post"> <table border="1" width="600px"> <tr> <td>用户名:</td> <td><input name="username" type="text"></br></td> <td></td> </tr> <tr> <td>密码:</td> <td><input name="pass" type="text" id="pass"></br></td> <td> </td> </tr> <tr> <td>确认密码:</td> <td><input name="passconfirm" type="text"></br></td> <td></td> </tr> <tr> <td>邮箱: </td> <td><input type="text" name="email" /><br /></td> <td> </td> </tr> <tr> <td>照片:</td> <td><input type="file" name="file" /><br></td> <td> </td> </tr> <tr> <td>地址</td> <td><select name="address"> <option value="广东">广东</option> <option value="广西">广西</option> </select></br> </td> <td> </td> </tr> <tr> <td>测试:</td> <td><input type="type" name="test"><br></td> <td> </td> </tr> <tr> <td colspan="3" align="center"><input type="submit" value="提交"></td> </tr> </table> </form> </body></html>
显示的结果:
0 0
- JAVA_WEB项目之j使用query的验证框架的例子
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- [军哥谈CI框架]之使用在线验证码的例子
- JAVA_WEB项目之Struts2、Spring和Hibernate三大框架的整合
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- JAVA_WEB项目之Lucene检索框架实现增删查改的代码优化以及分页功能实现
- java_web之使用cookie显示曾经访问过的商品
- 使用Struts1.2 Validator验证框架的简单例子
- Struts2中使用验证框架的简单例子
- JAVA_WEB项目之Lucene检索框架入门案例
- JAVA_WEB项目之Lucene检索框架中的IndexWriter、IndexSearch优化
- JAVA_WEB项目之三大框架中不使用HibernateTemplate而使用SessionFactory以及如何使用注解
- j-query中 live方法的应用
- j-query 学习; extjs 的学习 网站
- JAVA_WEB之 Jsp简单的自定义标签
- JAVA_WEB项目之Lucene使用中文分词器IKAnalyzer3.2.8
- Spring中JdbcTemplate类query的使用例子
- Spring中JdbcTemplate类query的使用例子
- spin_lock, spin_lock_irq, spin_lock_irqsave 的使用场景
- mac系统如何显示和隐藏文件
- oracle 11g dataguard同步异常,PROTECTION_LEVEL为RESYNCHRONIZATION
- php常用函数
- c#通过浏览器打开指定网址
- JAVA_WEB项目之j使用query的验证框架的例子
- dibapi.cpp
- spark学习五 DStream(spark流式数据处理)
- ubuntu 安装 jdk环境
- SweepGradient梯度渲染 旋转
- sed命令详解
- mybookmark = mrc.bookmark----------书签的作用
- openfire连接登陆优化方案
- Unity3D 发布APK资源对比