下面贴出了代码,描述下。想做一个用户名验证的东西,长度什么的用keyup方式,验证唯一性时用失去焦点的方式。
可是现在问题很多,required和minlengtg可以验证。但是remote没反应。到底是返回false还是“false”?我2种都试过了,都没反应。当第一次填写表单,长度也大于5时,失去小店,确实到了后台,也取到了数据。调试可以看到已经执行了response.getWriter().print(false);或者response.getWriter().print("false"),但是页面上始终没有出现"该xxxx名称已存在!"。
而且remote只能用一次啊,把文本框清空后,再次输入其他内容,然后失去交掉,就不会发送数据到后台了。除非刷新该页面重来,但也只能一次。求解决方案啊
//企业用户名验证测试
@Action("usercodevaltest")
public void usercodevaltest() throws Exception{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("text/html;charset=UTF-8");
System.out.println("usercode:"+usercode);
if("aaaaaa".equals(usercode))
response.getWriter().print(false);//向页面端返回结果信息
else
response.getWriter().print("false");//向页面端返回结果信息
}
rules: {
"userinfo.usercode": {
required: true,
minlength: 5,
remote:{
url:"${ctx}/user/usercodevaltest",
dataType:"json",
data:{"usercode":function(){return $("#usercode").val();}}
}
}
messages: {
"userinfo.usercode": {
remote:"该xxxx名称已存在!",
required: "请输入您需要注册的账号",
minlength: jQuery.format("账号长度不能小于{0}个字符")
},
可是现在问题很多,required和minlengtg可以验证。但是remote没反应。到底是返回false还是“false”?我2种都试过了,都没反应。当第一次填写表单,长度也大于5时,失去小店,确实到了后台,也取到了数据。调试可以看到已经执行了response.getWriter().print(false);或者response.getWriter().print("false"),但是页面上始终没有出现"该xxxx名称已存在!"。
而且remote只能用一次啊,把文本框清空后,再次输入其他内容,然后失去交掉,就不会发送数据到后台了。除非刷新该页面重来,但也只能一次。求解决方案啊
//企业用户名验证测试
@Action("usercodevaltest")
public void usercodevaltest() throws Exception{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("text/html;charset=UTF-8");
System.out.println("usercode:"+usercode);
if("aaaaaa".equals(usercode))
response.getWriter().print(false);//向页面端返回结果信息
else
response.getWriter().print("false");//向页面端返回结果信息
}
rules: {
"userinfo.usercode": {
required: true,
minlength: 5,
remote:{
url:"${ctx}/user/usercodevaltest",
dataType:"json",
data:{"usercode":function(){return $("#usercode").val();}}
}
}
messages: {
"userinfo.usercode": {
remote:"该xxxx名称已存在!",
required: "请输入您需要注册的账号",
minlength: jQuery.format("账号长度不能小于{0}个字符")
},
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货