<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<script type="text/javascript">
function validate(){
//var username = document.getElementById("username1");
//var password = document.getElementById("password1");
//var repassword = document.getElementById("repassword1");
var username = document.getElementsByName("username")[0];
var password = document.getElementsByName("password")[0];
var repassword = document.getElementsByName("repassword")[0];
if(username.value.length == 0){
alert("username can't be blank!");
return false;
}
if(password.value.length < 6 || password.value.length > 10){
alert("length of password is invalid!");
return false;
}
if(repassword.value.length < 6 || repassword.value.length > 10){
alert("length of repassword is invalid!");
return false;
}
if(password.value != repassword.value){
alert("password not the same!");
return false;
}
return true;
}
</script>
</head>
<body>
<form action="validateServlet">
username:<input type="text" name="username" id="username1"><br>
password:<input type="password" name="password" id="password1"><br>
re-password:<input type="password" name="repassword" id="repassword1"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
以上为myLogin.jsp,用Javascript对客户端简单验证。
表单实现为username,password,repassword.
验证要求:
1>uername不为空
2>password和repassword位数介于6到10之间
3>password==repassword
大致思想:script脚本部分获取表单中的数据,从而对其进行验证。验证不通过则调用alert()跳出警告框。
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.omg.PortableInterceptor.SUCCESSFUL;
public class validateServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
String repassword = request.getParameter("repassword");
List<String> list = new ArrayList<String>();
if(null == username || "".equals(username)){
list.add("username can't be blank!");
}
if(password == null || password.length()<6 || password.length()>10){
list.add("length of password should be between 6 and 10");
}
if(repassword == null || repassword.length()<6 || repassword.length()>10){
list.add("length of repassword should be between 6 and 10");
}
if(password != null && !password.equals(repassword)){
list.add("password and repassword not the same!");
}
if(list.isEmpty()){
request.setAttribute("username", username);
request.setAttribute("password", password);
request.getRequestDispatcher("success.jsp").forward(request, response);
}else{
request.setAttribute("error",list);
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(req,resp);
}
}
以上为服务器端的简单验证。代码创建了一个List记录,如果记录为空则跳转到success.jsp,否则跳转到error.jsp.