欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

BootStrap與validator 使用筆記(JAVA SpringMVC實現(xiàn))

 更新時間:2016年09月21日 09:11:28   作者:aocshallo  
這篇文章主要介紹了BootStrap與validator 使用筆記(JAVA SpringMVC實現(xiàn))的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

BootStrap 是一個強大的前面框架,它用優(yōu)雅的方式解決了網(wǎng)頁問題。最近正在使用其開發(fā)網(wǎng)站的表單驗證,一點體會記錄如下:

注:本文中借鑒了博客Franson 的文章使用bootstrap validator的remote驗證代碼經(jīng)驗分享(推薦)

一、準備工作

1.你的網(wǎng)站環(huán)境中要有 BootStrap,中文網(wǎng)地址:http://www.bootcss.com/

2.下載BootStrap Validator相關(guān)材料,地址:http://bv.doc.javake.cn/

當然,如果你不想一個一個下載到您的項目中的話,可以引入CDN,CDN可以用bootstrap官方的,也可以百度上搜索下“BootStrap CDN”,你一定可以理解是怎么使用。下面是我的引入代碼:

<!-- 新 Bootstrap 核心 CSS 文件 -->
<link rel="stylesheet" >
<!-- 可選的Bootstrap主題文件(一般不用引入) -->
<link rel="stylesheet" >
<!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- Bootstrap Validator JS文件 -->
<script src="http://cdn.bootcss.com/bootstrap-validator/0.5.3/js/bootstrapValidator.min.js"></script>  <!-- Bootstrap Validator 樣式文件 -->
<link  rel="stylesheet">  <!-- Bootstrap Validator 中文語言包 -->
<script src="http://cdn.bootcss.com/bootstrap-validator/0.5.3/js/language/zh_CN.min.js"></script>

二、初步應(yīng)用。

這里直接引用BootStrap Validator 官方的例子,先看HTML代碼:

<form class="form-horizontal">
<div class="form-group">
<label class="col-lg-3 control-label">Username</label>
<div class="col-lg-9">
<input type="text" class="form-control" name="username" />
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label">Email address</label>
<div class="col-lg-9">
<input type="text" class="form-control" name="email" />
</div>
</div>
</form>

一段很普通的BootStrap網(wǎng)頁代碼,一個表單,里面是用戶名,郵箱地址二個INPUT

BootStrap驗證是根據(jù)表單控件的name值進行檢驗的,下面是JS代碼:

<script>
$(document).ready(function() {
$('.registerForm').bootstrapValidator({
message: 'This value is not valid', //驗證錯誤時的信息
feedbackIcons: { //驗證時顯示的圖標
valid: 'glyphicon glyphicon-ok', //正確圖標
invalid: 'glyphicon glyphicon-remove', //錯誤圖標
validating: 'glyphicon glyphicon-refresh' //正在更新圖標
},
fields: { //要驗證哪些字段
username: { //與表單里input的name屬性對應(yīng)
message: 'The username is not valid', //驗證錯誤時的信息,當然這里是可以使用中文的
validators: {
notEmpty: { //非空判斷
message: 'The username is required and cannot be empty' //驗證錯誤時的信息,
},
stringLength: { //長度判斷
min: 6, //不得小于
max: 30, //不得超過
message: 'The username must be more than 6 and less than 30 characters long' //驗證錯誤時的信息,
},
regexp: { //正則表達式判斷 
regexp: /^[a-zA-Z0-9_]+$/, //表達式內(nèi)容
message: 'The username can only consist of alphabetical, number and underscore' //驗證錯誤時的信息,
}
}
},
email: {
validators: {
notEmpty: {
message: 'The email is required and cannot be empty'
},
emailAddress: { //是不是正確的email格式
message: 'The input is not a valid email address' 
}
}
}
}
});
});
</script>

BootStrap Validator 已經(jīng)定義好很多驗證方式,每一種方式的用法參見:http://bv.doc.javake.cn/validators/

其中幾個常用的,提一下,其實一看就懂,很好理解:

三、進階應(yīng)用

如果不想用默認的模板,可以使用以下個方式來進行一些自定義驗證

callback方式,API地址:http://bv.doc.javake.cn/validators/callback/

callback方式可以讓您自定義函數(shù)用于判斷,下面看個例子

HTML(內(nèi)容就是顯示輸入運算結(jié)果)

<form id="captchaForm" class="form-horizontal">
<div class="form-group">
<label class="col-lg-3 control-label" id="captchaOperation"></label>
<div class="col-lg-2">
<input type="text" class="form-control" name="captcha" />
</div>
</div>
</form>

來看看JS

<script>
$(document).ready(function() {
// 隨機取min,max中間的一個數(shù)
function randomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
};
// 生成隨機兩個數(shù)相加的文字顯示內(nèi)容,顯示到capchaOperation中去
$('#captchaOperation').html([randomNumber(1, 100), '+', randomNumber(1, 200), '='].join(' '));   
$('#captchaForm').bootstrapValidator({ //驗證
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
captcha: {
validators: {
callback: { //callback方式
message: 'Wrong answer',
callback: function(value, validator) { //您可以在這里實現(xiàn)自定義功能
// Determine the numbers which are generated in captchaOperation                //這里面value就是input里輸入的值 var items = $('#captchaOperation').html().split(' '),
sum = parseInt(items[0]) + parseInt(items[2]);
return value == sum;
}
}
}
}
}
});
});
</script>

這樣當默認的方式不能滿足您的要求的時候就可以用callback方式,自己實現(xiàn)函數(shù)用于完成特殊的判斷,比如判斷中國居民身份證號是否正確……

四、異步驗證

最常見的應(yīng)用就是驗證用戶名是否注冊過,下面看我的程序中的代碼:

HTML

<form class="form-horizontal">
<div class=" form-group has-feedback has-error">
<label for="loginName" class="col-sm-3 control-label ">用戶名:</label>
<div class="col-sm-5">
<div class="input-group">
<input type="text" class="form-control" id="loginName" name="loginName" placeholder="請輸入您登錄用的用戶名">
<span class="input-group-addon">&nbsp;&nbsp;</span>
</div>
</div>
</div>
</form>

JS

<script>
$(function () {
$('form').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'},
fields: {
loginName: {
message: '用戶名驗證失敗',
validators: {
notEmpty: {message: '用戶名不能為空'},
stringLength: {min: 6,max: 18,message: '用戶名長度必須在6到18位之間'},
regexp: {regexp: /^[a-zA-Z0-9_]+$/,message: '用戶名只能包含大寫、小寫、數(shù)字和下劃線'},
remote: {
message: '用戶名已經(jīng)存在',
url: '/ajax/checknewuser', //Action的地址,這里我試過,應(yīng)該是不能加入EL,但網(wǎng)上看到可以加<%=%>輸出某個值,我試驗沒成功,不知道為什么
data:{ //傳參數(shù)
username:function(){return $("#loginName").val()}, //username參數(shù)名,不用引號,如果想傳入特定控件的值一定加入function,這樣才能把值傳入,不知道為什么……
},
delay : 2000,//每輸入一個字符,就發(fā)ajax請求,服務(wù)器壓力還是太大,設(shè)置2秒發(fā)送一次ajax(默認輸入一個字符,提交一次,服務(wù)器壓力太大)
type: 'POST'//請求方式
}
}
}
}
});
});
</script>

Action 用 SpringMvc實現(xiàn)

package com.aocshallo.actions.ajax;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/ajax")
public class AjaxAction extends BaseAction {
public AjaxAction() {
// TODO Auto-generated constructor stub
}
@RequestMapping("/checknewuser")
public void checkNewUser(HttpSession session,HttpServletRequest request,HttpServletResponse response) throws IOException{
//。。。。 這是您的判斷邏輯
Boolean ret = true; // 這是最終返回值
//下面是response的設(shè)置
response.setContentType("text/xml;charset=utf-8"); 
response.setHeader("Cache-Control","no-cache"); 
try { 
//這是輸出為JSON串的一種方式,結(jié)果應(yīng)為JSON串,屬性名一定是valid,值為true或false
JSONObject jsobjcet = new JSONObject(); 
jsobjcet.put("valid", ret);
response.getWriter().write(jsobjcet.toString()); 
//System.out.println(jsobjcet.toString()); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
}
}

您的Action最終輸出的一定是下面形式的文本:

{"valid":false} //表示不合法,驗證不通過
{"valid":true} //表示合法,驗證通過

所以才使用JSONObject做為輸出。

以上所述是小編給大家介紹的BootStrap-validator 使用記錄(JAVA SpringMVC實現(xiàn)),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • js HTML5多媒體影音播放

    js HTML5多媒體影音播放

    這篇文章主要為大家詳細介紹了js HTML5多媒體影音播放,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 小程序接口的promise化的實現(xiàn)方法

    小程序接口的promise化的實現(xiàn)方法

    這篇文章主要介紹了小程序接口的promise化的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • JS函數(shù)驗證總結(jié)(方便js客戶端輸入驗證)

    JS函數(shù)驗證總結(jié)(方便js客戶端輸入驗證)

    JS函數(shù)驗證總結(jié),都是一些基礎(chǔ)的東西,現(xiàn)在比較流行jquery了,不過這些東西仍然需要大家會。
    2010-10-10
  • 用JS判斷IE版本的代碼 超管用!

    用JS判斷IE版本的代碼 超管用!

    用JS判斷IE版本的代碼 超管用!,需要的朋友可以參考下。
    2011-08-08
  • 深入理解JS addLoadEvent函數(shù)

    深入理解JS addLoadEvent函數(shù)

    下面小編就為大家?guī)硪黄钊肜斫釰S addLoadEvent函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • js星星評分效果

    js星星評分效果

    在這里和廣大腳本之家站的朋友們分享一個使用js實現(xiàn)商城星星評分的效果,希望能給大家點幫助
    2014-07-07
  • 微信小程序使用第三方庫Underscore.js步驟詳解

    微信小程序使用第三方庫Underscore.js步驟詳解

    大家都知道Underscore.js是一個 JavaScript 工具庫,它提供了一整套函數(shù)式編程的實用功能,但是沒有擴展任何 JavaScript 內(nèi)置對象。那么這篇文章我們就來學習下微信小程序如何使用第三方庫Underscore.js,有需要的可以參考學習。
    2016-09-09
  • 微信小程序使用navigator實現(xiàn)頁面跳轉(zhuǎn)功能

    微信小程序使用navigator實現(xiàn)頁面跳轉(zhuǎn)功能

    本周學習了navigtor到導航組件,目前我想使用navigtor組件實現(xiàn)跳轉(zhuǎn)以及返回功能,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用navigator實現(xiàn)頁面跳轉(zhuǎn)功能的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • JS/Jquery判斷對象為空的方法

    JS/Jquery判斷對象為空的方法

    本文給大家分享的是JS/Jquery判斷對象是不是空對象的方法,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-06-06
  • JavaScript通過極大極小值算法實現(xiàn)AI井字棋游戲

    JavaScript通過極大極小值算法實現(xiàn)AI井字棋游戲

    極小極大值搜索算法是一種零和算法,是用來最小化對手的利益,最大化自己的利益的算法。極小極大之搜索算法常用于棋類游戲等雙方較量的游戲和程序,算是一種電腦AI算法。本文將介紹通過這個算法實現(xiàn)的一個井字棋游戲,需要的可以參考一下
    2021-12-12

最新評論