JAVA_WEB專案之j使用query的驗證框架的例子
一般我們在做網站開發的時候都會遇到前臺表單的驗證,以及遠端驗證:類似於註冊的使用者名稱是否被佔用,下面貼出個人在學習過程中編寫的例子:
<%@ 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="https://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>
顯示的結果:
相關文章
- 基於 TrueLicense 的專案證書驗證
- java_web:EL表示式的使用JavaWeb
- flask專案1實戰:2.2 flask框架下使用圖片驗證碼Flask框架
- Media Query 在 CSS 中使用的一個具體例子CSS
- vue專案中使用token的身份驗證的簡單實踐Vue
- Go專案實戰之驗證碼的生成和使用(易擴充套件方式)【goshop開源專案 | 20220516更新】Go套件
- Java 專案中使用 Resilience4j 框架實現故障隔離Java框架
- 在非Laravel專案中使用Validator驗證器Laravel
- 英文簡歷中關於專案經驗的一些有用的例子
- Play框架如何驗證使用者框架
- 基於 CNN 的驗證碼破解實戰專案CNN
- 在Python和Go專案之後使用Rust的經驗分享 - scalewayPythonGoRust
- Fake許可權驗證小例子
- 驗證碼機制之驗證碼重複使用
- Java 專案中使用 Resilience4j 框架實現非同步超時處理Java框架非同步
- 一個非常好的行為驗證碼專案!
- django專案基於鉤子驗證的註冊功能Django
- 親身驗證切實可行的python專案部署方案Python
- ssm專案的搭建:使用到框架 spring springmvc mybatisSSM框架SpringMVCMyBatis
- Struts框架_9 Struts2的驗證框架
- Swift 超簡單的驗證框架ValidateSwiftSwift框架
- java之使用Servlet生成驗證碼的原始碼分享JavaServlet原始碼
- hyperf 驗證器的使用
- SSM專案使用攔截器實現登入驗證功能SSM
- SLF4J 和 Logback 在 Maven 專案中的使用方法Maven
- 如何理解專案里程碑?有哪些專案里程碑的例子?
- Java 專案中使用 Resilience4j 框架實現隔斷機制/斷路器Java框架
- 專案實戰之gradle在實際專案中的使用Gradle
- validation客戶端驗證框架使用手冊客戶端框架
- 使用 GoFrame 框架 JWT 方式驗證使用者資訊GoFrame框架JWT
- drools中query的使用
- django 驗證碼框架Django框架
- python基礎 之 Django框架建立專案的方法入門PythonDjango框架
- Solon Auth 認證框架使用演示(更簡單的認證框架)框架
- 手擼ORM淺談ORM框架之Query篇ORM框架
- 專案實戰之Rxjava、RxBinding在實際專案中的使用RxJava
- Java驗證碼—ValidateCode的使用Java
- Laravel 專案實現郵箱驗證功能Laravel
- vue+webpack專案中px2rem的例子VueWebREM