jQuery Validate插件ajax方式驗(yàn)證輸入值的實(shí)例
項(xiàng)目中經(jīng)常會(huì)遇到需要后臺(tái)驗(yàn)證問題,如用戶名、用戶賬號是否存在等。使用jQuery Validate插件可以使用remote校驗(yàn)規(guī)則完成驗(yàn)證。
示例:
一.基本用法
1.需要驗(yàn)證的表單
<form id="registForm"> <input type="text" id="username" name="username"> </form>
2.js
使用remote校驗(yàn)規(guī)則,最簡單粗暴的寫法是remote: url,此時(shí)請求的url后面自動(dòng)拼接當(dāng)前驗(yàn)證的值,例如下面的寫法,請求的url為:xxx/checkUsername.do?username=test
// 導(dǎo)入jquery、validte庫略
$(function() {
$.validator.setDefaults({
submitHandler: function(form) {
// 驗(yàn)證通過處理
...
}
});
$("#registForm").validate({
rules: {
username: {
required: true,
remote: "checkUsername.do"
},
},
messages: {
username: {
required: "用戶名不能為空",
remote: "用戶名已經(jīng)存在"
}
}
});
});
3.后臺(tái)(Spring MVC測試)
后臺(tái)響應(yīng)只能輸出true或false,不能有其他數(shù)據(jù),true:驗(yàn)證通過,false:驗(yàn)證失??;設(shè)置返回類型為boolean或String都可以
(1).返回boolean
@RequestMapping("/checkUsername")
public @ResponseBody boolean checkUsername(@RequestParam String username) {
// 測試
return !"test".equals(username);
}
(2).返回String
@RequestMapping("/checkUsername")
public @ResponseBody String checkUsername(@RequestParam String username) {
// 測試
return !"test".equals(username) ? "true" : "false";
}
二.其他用法
上面的用法不能滿足實(shí)際的需求,有時(shí)候會(huì)有需要提交其他參數(shù)、參數(shù)名和屬性名不一致或請求方式為POST的情況,寫法如下:
1.js
使用data選項(xiàng),也就是jQuery的$.ajax({...})的寫法;
提交的數(shù)據(jù)需要通過函數(shù)返回值的方式,直接寫值有問題;
默認(rèn)會(huì)提交當(dāng)前驗(yàn)證的值,也就是下例中的 username: xxx會(huì)被默認(rèn)作為參數(shù)提交
....
username: {
required: true,
remote: {
url: "checkUsername.do",
type: "post", //數(shù)據(jù)發(fā)送方式
dataType: "json", //接受數(shù)據(jù)格式
data: { //要傳遞的數(shù)據(jù)
username: function() {
return $("#username").val();
},
extra: function() {
return "額外信息";
}
}
}
}
2.后臺(tái)
限制了必須為POST方式請求
@RequestMapping(value = "/checkUsername", method = RequestMethod.POST)
public @ResponseBody boolean checkUsername(User user, @RequestParam String extra) {
// 測試
System.out.println(extra);
return !"test".equals(user.getUsername());
}
參考文章:http://www.runoob.com/jquery/jquery-plugin-validate.html
以上這篇jQuery Validate插件ajax方式驗(yàn)證輸入值的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- jquery validate 實(shí)現(xiàn)動(dòng)態(tài)增加/刪除驗(yàn)證規(guī)則操作示例
- jQuery Validate 相關(guān)參數(shù)及常用的自定義驗(yàn)證規(guī)則
- JQuery validate 驗(yàn)證一個(gè)單獨(dú)的表單元素實(shí)例
- 詳解jquery validate實(shí)現(xiàn)表單驗(yàn)證 (正則表達(dá)式)
- jQuery驗(yàn)證插件validate使用方法詳解
- jquery表單驗(yàn)證插件(jquery.validate.js)的3種使用方式
- jQuery validate(submitHandler函數(shù))驗(yàn)證通過發(fā)送Ajax(實(shí)例詳解)
相關(guān)文章
jQuery插件JWPlayer視頻播放器用法實(shí)例分析
這篇文章主要介紹了jQuery插件JWPlayer視頻播放器用法,結(jié)合實(shí)例形式分析了JWPlayer插件播放視頻的相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
jquery插件star-rating.js實(shí)現(xiàn)星級評分特效
Bootstrap Star Rating是一個(gè)簡單而強(qiáng)大的jQuery插件實(shí)現(xiàn)星級分?jǐn)?shù)評級。支持像分?jǐn)?shù)星填充和RTL輸入先進(jìn)的功能。在利用純CSS-3造型使控制重點(diǎn)開發(fā)。該插件使用引導(dǎo)標(biāo)記和造型默認(rèn)情況下,但它可以覆蓋與其他任何CSS的標(biāo)記。2015-04-04
Jquery封裝tab自動(dòng)切換效果的具體實(shí)現(xiàn)
這篇文章介紹了Jquery封裝tab自動(dòng)切換效果的具體實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07
如何使用PHP+jQuery+MySQL實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù)(附源碼下載)
ECharts地圖主要用于地理區(qū)域數(shù)據(jù)的可視化,展示不同區(qū)域的數(shù)據(jù)分布信息,通過本文給大家介紹如何使用PHP+jQuery+MySQL實(shí)現(xiàn)異步加載ECharts地圖數(shù)據(jù),需要的朋友參考下吧2016-02-02
JQuery Ajax 異步操作之動(dòng)態(tài)添加節(jié)點(diǎn)功能
異步操作動(dòng)態(tài)添加節(jié)點(diǎn),導(dǎo)致在代碼中給添加的節(jié)點(diǎn)全局綁定事件或者獲取元素?zé)o效,問題出在哪里呢?下文給大家介紹下,感興趣的朋友參考下吧2017-05-05
關(guān)于jquery.validate1.9.0前臺(tái)驗(yàn)證的使用介紹
本篇文章介紹了,關(guān)于jquery.validate1.9.0前臺(tái)驗(yàn)證的使用。需要的朋友參考下2013-04-04
JQuery中html()方法使用不當(dāng)帶來的陷阱
html方法當(dāng)不傳參數(shù)時(shí)用來獲取元素的html內(nèi)容2011-04-04

