基于Bootstrap jQuery.validate Form表单验证实践
项目结构 :
github 上源码地址:https://github.com/starzou/front-end-example 点击打开
1、form 表单代码
<!DOCTYPE html> <html> <head> <title>Bootstrap Form Template</title> <Meta charset="utf-8" /> <Meta name="viewport" content="width=device-width,initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="plugins/bootstrap/css/bootstrap.css"/> </head> <body> <div class="container"> <h1 class="text-center text-danger">Form 示例</h1> <form role="form" class="form-horizontal" action="javascript:alert('验证成功,可以提交.');" method="post"> <div class="form-group"> <label class="col-md-2 control-label" for="name">Name</label> <div class="col-md-10"> <input class="form-control" name="name" type="text" id="name" placeholder="Name" value="" /> </div> </div> <div class="form-group"> <label class="col-md-2 control-label" for="exampleInputPassword1">Password</label> <div class="col-md-10"> <input type="password" name="password" class="form-control" id="exampleInputPassword1" placeholder="Password"> </div> </div> <div class="form-group"> <label for="intro" class="control-label col-md-2">Intro</label> <div class="col-md-10"> <textarea id="intro" class="form-control" rows="3" name="intro" placeholder="Intro"></textarea> </div> </div> <div class="form-group"> <label class="control-label col-md-2">Gender</label> <div class="col-md-10"> <label class="radio-inline"> <input type="radio" name="gender" value="男" /> boy </label> <label class="radio-inline"> <input type="radio" name="gender" value="女" /> gril </label> </div> </div> <div class="form-group"> <label for="hobby" class="control-label col-md-2">Hobby</label> <div class="col-md-10"> <div class="checkBox"> <label> <input type="checkBox" name="hobby" value="Music"> Music</label> </div> <div class="checkBox"> <label> <input type="checkBox" name="hobby" id="" value="Game" /> Game </label> </div> <label class="checkBox-inline"> <input type="checkBox" id="inlineCheckBox1" value="option1"> option1 </label> <label class="checkBox-inline"> <input type="checkBox" id="inlineCheckBox2" value="option2"> option3</label> <label class="checkBox-inline"> <input type="checkBox" id="inlineCheckBox3" value="option3"> option3 </label> </div> </div> <div class="form-group"> <label for="sel" class="control-label col-md-2">Select</label> <div class="col-md-10"> <select multiple="" id="sel" name="sel" class="form-control"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-10"> <button type="submit" class="btn btn-primary btn-sm"> Submit </button> <button type="reset" class="btn btn-primary btn-sm"> Reset </button> </div> </div> </form> </div> <script src="plugins/jquery-1.11.1.js" type="text/javascript" charset="utf-8"></script> <script src="plugins/bootstrap/js/bootstrap.js" type="text/javascript" charset="utf-8"></script> <script src="plugins/jquery-validation/dist/jquery.validate.js" type="text/javascript" charset="utf-8"></script> <script src="scripts/form.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> MyValidator.init(); </script> </body> </html>
需要引用 jquery.js , bootstrap.js, jquery.validate.js 库
2、form.js 代码
var MyValidator = function() { var handleSubmit = function() { $('.form-horizontal').validate({ errorElement : 'span',errorClass : 'help-block',focusInvalid : false,rules : { name : { required : true },password : { required : true },intro : { required : true } },messages : { name : { required : "Username is required." },password : { required : "Password is required." },intro : { required : "Intro is required." } },highlight : function(element) { $(element).closest('.form-group').addClass('has-error'); },success : function(label) { label.closest('.form-group').removeClass('has-error'); label.remove(); },errorPlacement : function(error,element) { element.parent('div').append(error); },submitHandler : function(form) { form.submit(); } }); $('.form-horizontal input').keypress(function(e) { if (e.which == 13) { if ($('.form-horizontal').validate().form()) { $('.form-horizontal').submit(); } return false; } }); } return { init : function() { handleSubmit(); } }; }();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。