大家好,又见面了,我是全栈君
在用户注冊时常常要通过ajax请求推断用户账号是否已注冊,最方便的方法便是用jQuery Validate插件 reomte方法
Jquery Validate插件, 调用远程方法验证參数, remote的使用方法:
在validate的方法上增加 remote:”校验方法” ,比如: remote: “/test/checkAccount.jsp” , 这时传进checkAccount.jsp的參数就是account=$(“#account”).val(), 这个是jquery.validate自己主动加參,不用手动改动。若參数名称不是变量名,能够自行改动成:
remote: “/test/checkAccount.jsp?
paramName=” $(“#account”).val() 这时校验方法需返回boolean值,比如:account可用就out.print(false)或account不可用就out.print(true);
这里贴出的注冊代码:
$(“#register”).validate({ rules: { “user.email”: { required: true, email: true, remote:{ type:”POST”, url:”/passport/account/validateEmail”, data:{ email:function(){return $(“#email”).val();} } }
}
//此处省略 sdg.registre.js的部分代码
}, messages: { “user.email”: { required: “请输入邮箱!”, email: “邮箱格式错误!”, remote: “该邮箱已被注冊!” } //此处省略 sdg.registre.js的部分代码 }, //此处省略 sdg.registre.js的部分代码
});
相应的html代码 <input type=”text” class=”input-block-level tips” name=”user.email” id=”email”>很多其它的这个页面的html代码大家能够自己到去找到。
的后台是用jFinal框架写的,由于没有看过的后台代码。详细后面怎么实现不清楚。
一般在后台的校验方法的写法则是:
//此处以SpringMVC为例,列出核心代码
@Controller @RequestMapping(“/passport/account“)
public class UserAction {
@Autowired
UserManager usermanager;//用户管理类,负责从数据中读取用户数据
@RequestMapping(value = “/validateEmail“, method = RequestMethod.POST)
public String validateEmail(HttpServletRequest request,HttpServletResponse response) {
String email=request.getParamaters(“user.email“);
Boolean isExisted=usermanager.isExistedUser(email);//依据eamil号从数据库中查找该email是否已注冊
if (isExisted)
response.write(“true”);
else
response.write(“false”);
return null; }
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116904.html原文链接:https://javaforall.cn