基于Bootstrap+jQuery.validate实现表单验证

这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录。现在社会坚持以人为本的理念,在网站开发过程同样如此。User是我们面对较多的对象,也是较核心的对象。最开始的用户注册和登陆这块,也就尤为重要。

用户注册和登录其实往往比我们想象的难。就比如表单校验,里面涵盖的内容其实挺多,就前台而言,你需要了解:

1.正则表达式的基本了解

其实正则并不难,并且在学会后能带给你极大的成就感,享受那种事半功倍的效果吧。

2.ajax异步请求

在验证用户名是否存在、用户登录时账号或者密码错误时给出相应的提示。

3.一些方便的验证库,比如jQuery.validate

正因为如此普遍的需求和一定的复杂性,bootstrap表单和jQuery.validate表单校验等一些优秀的类库专为人们解决UI、表单校验问题。

下面就是我用bootstrap+jQuery.validate做的界面:

基于Bootstrap+jQuery.validate实现表单验证

基于Bootstrap+jQuery.validate实现表单验证

一、bootstrap3基本表单和水平表单

1、基本表单

基本的表单结构是 Bootstrap 自带的,下面列出了创建基本表单的步骤:

向父元素<form> 添加 role="form"。
把标签和控件放在一个带有 class .form-group 的 <div> 中。这是获取最佳间距所必需的。
向所有的文本元素 <input>、<textarea> 和 <select> 添加 class .form-control。

<form role="form"> <div> <label for="name">名称</label> <input type="text" placeholder="请输入名称"> </div> </form>

效果如下:

2、水平表单

在了解水平表单之间,我们应该对bootstrap的网格系统有所了解。

Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

响应式网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列,也就是说它是以百分比定义宽度的。

基于Bootstrap+jQuery.validate实现表单验证

水平表单与其他表单不仅标记的数量上不同,而且表单的呈现形式也不同。如需创建一个水平布局的表单,请按下面的几个步骤进行:

步骤1:向父 <form> 元素添加 class .form-horizontal。
步骤2:把标签和控件放在一个带有 class .form-group 的 <div> 中。
步骤3:向标签添加 class .control-label。

<form role="form"> <div> <label for="firstname">名字</label> <div> <input type="text" placeholder="请输入名字"> </div> </div> </form>

效果如下:

二、jQuery.validate 自定义校验方法

1、自定义校验方法

// 手机号码验证 jQuery.validator.addMethod("isPhone", function(value, element) { var length = value.length; return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(value)); }, "请正确填写您的手机号码。");

2、调用自定义校验

rules : { phone : { required : true, isPhone : true } }

3、自定义错误显示

基于Bootstrap+jQuery.validate实现表单验证

三、register.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>注册</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <link type="text/css" href="https://www.jb51.net/jslib/bootstrap-3.3.5/css/bootstrap.min.css"> <script src="https://www.jb51.net/jslib/jquery-1.9.1.min.js" type="text/javascript"></script> <script src="https://www.jb51.net/scripts/form.js" type="text/javascript"></script> <script src="https://www.jb51.net/jslib/jQuery.validate/jquery.validate.js" type="text/javascript"></script> <script src="https://www.jb51.net/jslib/bootstrap-3.3.5/bootstrap.min.js" type="text/javascript"></script> <style type="text/css"> #register-form{ border: 1px solid rgb(197, 197, 197); width: 1000px; margin: auto; border-image: none; padding: 30px; border-radius: 3px; } </style> </head> <body> <h1>用户注册</h1><br> <form role="form" method="get"> <div> <label for="firstname">用户名:</label> <div> <input /> </div> </div> <div> <label for="password">密码:</label> <div> <input type="password" /> </div> </div> <div> <label for="confirm_password">确认密码:</label> <div> <input type="password" /> </div> </div> <div> <label for="email">E-Mail:</label> <div> <input /> </div> </div> <div> <label for="phone">手机号码:</label> <div> <input /> </div> </div> <div> <label for="tel">固定电话:</label> <div> <input /> </div> </div> <div> <label for="address">家庭住址:</label> <div> <input /> </div> </div> <div> <div> <button type="submit">注册</button> <button type="reset">重置</button> </div> </div> </form> </body> </html>

四、form.js

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzpzyx.html