为了账号安全,请及时绑定邮箱和手机立即绑定

Jquery Validation 验证控件的使用说明

标签:
JQuery

使用Jquery Validation 验证控件能更加容易对表单进行校验,下面是我个人使用它的一些总结:
首先需要导入js文件,可去官网下载 https://jqueryvalidation.org/
常用的校验方式如下:

<script type="text/javascript">

$().ready(function() {
  $("#signupForm").validate({
    rules: {
      firstname: "required",
        email: {
         required: true,
         email: true
        },
        password: {
          required: true,
          minlength: 5
        },
        confirm_password: {
          required: true,
           minlength: 5,
          equalTo: "#password"
        }
     },
       messages: {
       password: {
          minlength: jQuery.format("密码不能小于{0}个字 符")
        }
      }
  });
});
</script>

<form id="signupForm" method="get">
    <p>
        <label for="firstname">Firstname</label>
        <input id="firstname" name="firstname" />
    </p>
 <p>
  <label for="email">E-Mail</label>
  <input id="email" name="email" />
 </p>
 <p>
  <label for="password">Password</label>
  <input id="password" name="password" type="password" />
 </p>
 <p>
  <label for="confirm_password">确认密码</label>
  <input id="confirm_password" name="confirm_password" type="password" />
 </p>
    <p>
        <input class="submit" type="submit" value="Submit"/>
    </p>
</form>

使用errorPlacement,更改错误信息显示的位置
默认如下,即把错误信息放在验证的元素后面

errorPlacement: function(error, element) {  
    error.appendTo(element.parent());
}

进行修改:

$().ready(function() {   
  $("#signupForm").validate({
    errorPlacement: function(error, element) { 
      if ( element.is(":radio") ) 
        error.appendTo( element.parent().next().next() ); 
      else if ( element.is(":checkbox") ) 
        error.appendTo ( element.next() ); 
      else error.appendTo( element.parent().next() ); 
    }
  }
}

<form id="signupForm" method="get">
<tr>
    <td class="label"><label id="lfirstname" for="firstname">First Name</label></td>
    <td class="field"><input id="firstname" name="firstname" type="text" value="" maxlength="100" /></td>
    <td class="status"></td>
</tr>
<tr>
    <td style="padding-right: 5px;">
        <input id="dateformat_eu" name="dateformat" type="radio" value="0" />
        <label id="ldateformat_eu" for="dateformat_eu">14/02/07</label>
    </td>
    <td style="padding-left: 5px;">
        <input id="dateformat_am" name="dateformat" type="radio" value="1"  />
        <label id="ldateformat_am" for="dateformat_am">02/14/07</label>
    </td>
    <td></td>
</tr>
<tr>
    <td class="label">&nbsp;</td>
    <td class="field" colspan="2">
        <div id="termswrap">
            <input id="terms" type="checkbox" name="terms" />
            <label id="lterms" for="terms">I have read and accept the Terms of Use.</label>
        </div>
    </td>
</tr>
</form>

更改错误信息显示的样式

设置错误提示的样式,可以增加图标显示,在该系统中已经建立了一个默认的validation.css专门用于维护校验文件的样式

input.error { border: 1px solid red; }
label.error {
  background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;
  padding-left: 16px;
  padding-bottom: 2px;
  font-weight: bold;
  color: #EA5200;
}

//校验成功时的class值必须为valid
label.valid {
  background:url("./demo/images/checked.gif") no-repeat 0px 0px;
}

每个字段验证通过执行函数:
success:String,Callback,要验证的元素通过验证后的动作,如果跟一个字符串,会当做一个css类,也可跟一个函数

success:"valid"
success: function(label) {
    // set &nbsp; as text for IE
    label.html("&nbsp;").addClass("valid");
    //label.addClass("valid").text("Ok!")
}

使用ajax进行异步验证:

remote: "check-email.php"

remote: {
    url: "check-email.php",     //后台处理程序
    type: "post",               //数据发送方式
    dataType: "json",           //接受数据格式  
    data: {                     //要传递的数据
        username: function() {
            return $("#username").val();  //不能直接写字符串 "$("#username").val()"
        }
    }
}
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消