jquery的验证框架的remot方法实现注册页面无刷新判断用户是否存在,该方法的jquery代码类似与validate其他方法,如限定长度,必须输入等。实现如下:
1、js脚本:
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="js/jquery.validate.js"></script> </script> <script type="text/javascript"> $(document).ready(function(){ $.validator.addMethod("noSpace",function(value,element){ return value.indexOf(" ")<0 && value!=""; }); $("#familyArcForm").validate({ rules:{ ID:{ required:true, noSpace:true, remote: "validateFamilyID.action" } }, messages:{ familyID2:{ required:"编号不能为空!", noSpace:"编号不能含空格", remote:"该编号已经存在,请重新输入!" } }, errorElement:"em", success:function(label){ label.text(" ") .addClass("success"); } }); });
2.action类代码
public String execute() throws Exception {
Boolean val = true;
//判断数据库中是否有这个用户名
if (memberService.findByUsername(member.getUsername()) != null) {
val = false;// 表示存在,要返回false
}
inputStream = new ByteArrayInputStream(val.toString().getBytes());
//将true或者false转化为流,要为inputStream提供getter方法和setter方法。
// public ByteArrayInputStream getInputStream() {
// return inputStream;
// }
// public void setInputStream(ByteArrayInputStream inputStream) {
// this.inputStream = inputStream;
return "success";
}
struts.xml配置:
<result type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">inputStream</param>
</result>
嘿嘿,大功告成!咔咔...