在项目中的注册页面需要判断用户名是否存在,采用了jquery的验证框架的remote方法来实现。
1、js脚本:
jQuery.validator.addMethod("usename", function(value, element) {
return this.optional(element) || value.length >= 4 && value.length <= 12 &&(/\d/.test(value) || /[a-z] /i.test(value)); }, "用户名应包含4-12个数字、字母");
$("form").validate({
rules:{
username:{
required:true,
remote:"checkUserAvailable.action"//用户名是否存在的Action
}
},
messages: {
username:{
required:"请输入用户名",
remote:"该用户名已经被注册"//当后台返回false时显示在页面的div
}
}
});
2、java代码:
由于jquery的remote方法只允许返回true或者false,当返回false时,输出messages的内容:"该用户名已经被 注册"。在Struts2的有两种方法可以实现:
(1)、利用HttpServletResponse对象的response实例,Java代码如下:
String text="true";
if(memberService.findByUsername(member.getUsername()) != null){
text="false";//如果用户名已存在,则输出false
}
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/plain;charset=UTF-8");
response.getWriter().write(text);
return null;
struts.xml配置:可以不用配置<result>输出项。本方法的缺点是依赖于HttpServletResponse。
(2)、使用Struts2的stream返回类型:
Boolean canSign = true;
// 数据库中是否存在该用户名
if (memberService.findByUsername(member.getUsername()) != null) {
canSign = false;// 表示存在,要返回false
}
inputStream = new ByteArrayInputStream(canSign.toString().getBytes()); //将true或者false转化为流,要为inputStream提供getter方法。
return SUCCESS;
struts.xml配置:
<result type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">inputStream</param>
</result>
以上的contentType不能使用text/html类型,也可以不用配置该项,默认就是text/plain类型。
分享到:
相关推荐
jquery.validate.1.9.0.min.js jquery.validate.1.12.0.min.js jquery.validate.1.13.1.min.js jquery.validate.1.16.0.min.js jquery.validate.1.14.0.min.js jquery.validate.1.15.1.min.js jquery.validate....
jquery.validate+jquery.form开发包,可以实现交互友好的form表单验证功能,及异步提交机制。
jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...
jquery.validate.js jquery.validate.js
jquery.validate.min.js 1.16.0插件,jquery验证
jquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.jsjquery.validate.js...
微软的jquery.validate.unobtrusive.js验证插件,可以用来验证单选和多选框的.
主要介绍了利用jQuery.Validate异步验证用户名是否存在的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
jquery.validate.extend.js
jquery 验证表单1.8版本,附加常用地址 https://docs.microsoft.com/en-us/aspnet/ajax/cdn/jquery-validate/cdnjqueryvalidate18
jquery.validate插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求。该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来...
jquery.validate.js表单验证 jquery.validate.messages_cn.js 表单验证中文提示
jquery.validate.js 和 帮助文档.rar
jquery.validate 与 struts2的整合使用
jQuery.validate.js+API中文 jquery-validation-1.8.1.zip
jquery.validate Validation .js验证框架 帮助 手册 文档.chm 版本 方面查询 (一)、可选项( options ) 1 (二)插件方法 (jQuery validation) 6 (三、四)选择器及实用工具 (jQuery validation) 7 四、实用工具...