热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> AJAX编程>>正文内容

利用jquery.validate异步验证用户名是否存在

发布时间:2011年01月24日点击数: 佚名

经过上百次的试验试和搜索,终于把jquery.validate的各种功能用法了解清楚,网上关于jquery.validate的AJAX表单验证比较少,特别是对rules里面的remote提得比较简单,使得学习起来比较难,下面发布一下我个人的用法:

HTML头部引用:

  1. <script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script> 
  2. <script type="text/javascript" src="../js/jquery.validate.min.js"></script> 
  3. <script type="text/javascript" src="../js/messages_cn.js"></script> 

HTML内容(部分):

  1. <form name="form1" id="form1" method="post" action=""> 
  2. <dl> 
  3.   <dt>用户名:</dt> 
  4.   <dd><input name="txtUserName" id="txtUserName" type="text" class="input1" /></dd> 
  5. </dl> 
  6. </form> 

JS代码部分:

  1. $(function() { 
  2. //表单验证JS 
  3.     $("#form1").validate({ 
  4.         //出错时添加的标签 
  5.         errorElement: "span"
  6.         rules: { 
  7.             txtUserName: { 
  8.                 required: true
  9.                 minlength: 3, 
  10.                 maxlength: 16, 
  11.                 remote: { 
  12.                     type: "post"
  13.                     url: "/tools/ValidateUserName.ashx"
  14.                     data: { 
  15.                         username: function() { 
  16.                             return $("#txtUserName").val(); 
  17.                         } 
  18.                     }, 
  19.                     dataType: "html"
  20.                     dataFilter: function(data, type) { 
  21.                         if (data == "true"
  22.                             return true
  23.                         else 
  24.                             return false
  25.                     } 
  26.                 } 
  27.             } 
  28.         }, 
  29.         success: function(label) { 
  30.             //正确时的样式 
  31.             label.text(" ").addClass("success"); 
  32.         }, 
  33.         messages: { 
  34.             txtUserName: { 
  35.                 required: "请输入用户名,3-16个字符(字母、数字、下划线),注册后不能更改"
  36.                 minlength: "用户名长度不能小于3个字符"
  37.                 maxlength: "用户名长度不能大于16个字符"
  38.                 remote: "用户名不可用" 
  39.             } 
  40.         } 
  41.     }); 
  42. }); 

应注意的地方:

  1. data: { 
  2.    username: function() { 
  3.    return $("#txtUserName").val(); 

有返回值,如果直接写“data: {username: $("#txtUserName").val();}”,这样是获取不到值的。

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作