基于jQuery Validate实现用户名重复验证

作者:小满时间:2026-10-23 19:02:56浏览:324

本文介绍如何使用jQuery Validate插件实现用户名重复性校验。通过配置remote规则,前端异步发送请求至服务器,后端返回true或false判断用户名是否已存在,从而完成唯一性验证。

jQuery Validate实现用户名重复验证

本文介绍如何利用jQuery Validate插件实现用户名的唯一性校验,供开发者参考。

前端JavaScript实现

前端JavaScript实现部分如下。


<table class="tb_input" >
    <tbody>
    <tr>
          <th >名称<strong class="red">*</strong></th>
          <td>
            <input type="text" name="sysRight.name" id="sysRight.name" value="<#if sysRight.name??>${sysRight.name!}</#if>">
            <p>名称不能为空且不能超过80个字符</p>
          </td>
        </tr>
    </tbody>
  </table>
$(function(){
  $("#tb_input").validate({
  rules:{
    "sysRight.name":{
        required : true,
        maxlength : 80,
        remote:{
          url:"${webroot}/sysRight!checkNameRepeat.action", //后台处理程序 
          type:"post",      //数据发送方式 
          data: { "sysRight.name":$("#sysRight.name").val(),   
          }
        }
      },
},
messages:{
"sysRight.name":{
remote: jQuery.format("名称已存在")
},
}
});

后端服务器端代码

后端服务器端处理代码示例如下。


/**
   * 用于页面调用jQuery提交方法的回调处理,此回调正常用法,一个参数
   * @param msg
   * @throws Exception
   */
  protected void writeResponse(String msg){
    if(msg==null)
      msg="";
    ServletActionContext.getResponse().setContentType("html/text;charset=utf-8");
    ServletActionContext.getResponse().setCharacterEncoding("UTF-8");

    try {
      PrintWriter pw = ServletActionContext.getResponse().getWriter();
      pw.write(msg);
      pw.flush();
      pw.close();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }
  /**
   * 检查帐号是否存在
   * @auther yangj
   * @date 2014年6月16日 上午11:45:39
   */
  public void checkNameRepeat(){
    try {
      boolean flag = sysUserService.checkNameRepeat(sysUser);
      String sFlag;
      if(flag) {
        sFlag = "true";
      }else {
        sFlag = "false";
      }
      writeResponse(sFlag);
    } catch (Exception e) {
      e.printStackTrace();
      writeResponse("0");
    }
}

以上内容为本文核心知识点,希望能为读者的技术学习提供有益帮助,同时也感谢大家的支持。

作者最新文章