參考:http://blog.csdn.net/xh16319/article/details/9987847javascript
自定義checkbox驗證,「檢查checkbox是否選中」css
jQuery.validator.addMethod("isAgreeRule", function(value, element) { return element.checked; }, "請閱讀並贊成用戶協議後提交!");
添加到驗證規則html
$(function() { $("#registerFrom").validate({ rules : { login_name : { required : true }, password : { required : true, rangelength : [ 8, 20 ] }, confirm_password : { required : true, equalTo : "#password" }, captcha : { required : true }, agree_rule : { isAgreeRule : true } }, errorPlacement : function(error, element) { if (element.is(':radio') || element.is(':checkbox')) { // 若是是radio或checkbox var eid = element.attr('name'); // 獲取元素的name屬性 error.appendTo(element.parent()); // 將錯誤信息添加當前元素的父結點後面 } else { error.insertAfter(element); } }, submitHandler : function(form) { submitFrom(); } }); });
添加自定義樣式:java
<style type="text/css"> input.control-label-error { border: 1px solid red; } .control-label-error { padding-left: 16px; padding-bottom: 2px; font-weight: bold; color: #EA5200; } </style>
完整代碼以下:web
htmlapp
<%@ page language="java" pageEncoding="UTF-8"%> <style type="text/css"> input.control-label-error { border: 1px solid red; } .control-label-error { padding-left: 16px; padding-bottom: 2px; font-weight: bold; color: #EA5200; } </style> <!-- 註冊框 --> <div class="modal fade" id="regModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> <h4 class="modal-title text-center">註冊</h4> </div> <div class="modal-body"> <div class="login_box"> <form id="registerFrom" method="post" class="form-horizontal form-validate"> <div class="form-group"> <input type="text" class="form-control" placeholder="請輸入用於註冊的手機號碼" name="login_name"> </div> <!-- <div class="form-group has-mb-code"> <input type="text" class="form-control" placeholder="手機驗證碼"> <a href="javascript:" class="btn btn-warning m-code">獲取驗證碼</a> </div> --> <div class="form-group"> <input id="password" type="password" class="form-control" placeholder="密碼(長度爲8-20個字符,含字母和數字)" name="password"> </div> <div class="form-group"> <input type="password" class="form-control" placeholder="確認密碼(長度爲8-20個字符,含字母和數字)" name="confirm_password"> </div> <div class="form-group has-code"> <input type="text" class="form-control" placeholder="圖形驗證碼" name="captcha"> <span class="form-control-code"><img id="kaptcha" src="../kaptcha.jpg"></span> </div> <div class="checkbox"> <label> <input id="agree_rule" type="checkbox" name="agree_rule"> 我已閱讀並贊成<a href="#">《用戶協議》</a> </label> </div> <button type="submit" data-loading-text="提交中..." class="btn btn-primary btn-block m_b">註冊</button> <!-- <a href="perfectinfo.html" class="btn btn-primary btn-block m_b">註冊</a> --> <p> <a href="javascript:" data-dismiss="modal" data-toggle="modal" data-target="#loginModal">老用戶,請登陸</a> </p> </form> </div> </div> </div> </div> </div> <script type="text/javascript" src="${rootPath}/resources/js/register/register.js"></script> <script type="text/javascript"> $(function() { $('#kaptcha').click( function() { $("#kaptcha").hide() .attr( 'src', '../kaptcha.jpg?' + Math.floor(Math.random() * 100)) .fadeIn(); }); }); </script>
jsdom
jQuery.validator.addMethod("isAgreeRule", function(value, element) { return element.checked; }, "請閱讀並贊成用戶協議後提交!"); $(function() { $("#registerFrom").validate({ rules : { login_name : { required : true }, password : { required : true, rangelength : [ 8, 20 ] }, confirm_password : { required : true, equalTo : "#password" }, captcha : { required : true }, agree_rule : { isAgreeRule : true } }, errorPlacement : function(error, element) { if (element.is(':radio') || element.is(':checkbox')) { // 若是是radio或checkbox var eid = element.attr('name'); // 獲取元素的name屬性 error.appendTo(element.parent()); // 將錯誤信息添加當前元素的父結點後面 } else { error.insertAfter(element); } }, submitHandler : function(form) { submitFrom(); } }); }); function registerFrom() { var url = rootPath + "/web/register.html"; var params = $("#registerFrom").serialize(); $.post(url, params, function(data) { if (data.code == 0) { window.location.href = rootPath + '/role/list.html'; } }); }