規(guī)則 | 描述 |
---|---|
required:true | 必須輸入的字段。 |
remote:"check.php" | 使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。 |
email:true | 必須輸入正確格式的電子郵件。 |
url:true | 必須輸入正確格式的網(wǎng)址。 |
date:true | 必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。 |
dateISO:true | 必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22。只驗(yàn)證格式,不驗(yàn)證有效性。 |
number:true | 必須輸入合法的數(shù)字(負(fù)數(shù),小數(shù))。 |
digits:true | 必須輸入整數(shù)。 |
creditcard:true | 必須輸入合法的信用卡號(hào)。 |
equalTo:"#field" | 輸入值必須和 #field 相同。 |
accept: | 輸入擁有合法后綴名的字符串(上傳文件的后綴)。 |
maxlength:5 | 輸入長(zhǎng)度最多是 5 的字符串(漢字算一個(gè)字符)。 |
minlength:10 | 輸入長(zhǎng)度最小是 10 的字符串(漢字算一個(gè)字符)。 |
rangelength:[5,10] | 輸入長(zhǎng)度必須介于 5 和 10 之間的字符串(漢字算一個(gè)字符)。 |
range:[5,10] | 輸入值必須介于 5 和 10 之間。 |
max:5 | 輸入值不能大于 5。 |
min:10 | 輸入值不能小于 10。 |
$().ready(function() { // 在鍵盤(pán)按下并釋放及提交后驗(yàn)證提交表單 $("#signupForm").validate({ rules: { firstname: "required", lastname: "required", username: { required: true, minlength: 2 }, password: { required: true, minlength: 5 }, confirm_password: { required: true, minlength: 5, equalTo: "#password" }, email: { required: true, email: true }, topic: { required: "#newsletter:checked", minlength: 2 }, agree: "required" }, messages: { firstname: "請(qǐng)輸入您的名字", lastname: "請(qǐng)輸入您的姓氏", username: { required: "請(qǐng)輸入用戶(hù)名", minlength: "用戶(hù)名必需由兩個(gè)字母組成" }, password: { required: "請(qǐng)輸入密碼", minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母" }, confirm_password: { required: "請(qǐng)輸入密碼", minlength: "密碼長(zhǎng)度不能小于 5 個(gè)字母", equalTo: "兩次密碼輸入不一致" }, email: "請(qǐng)輸入一個(gè)正確的郵箱", agree: "請(qǐng)接受我們的聲明", topic: "請(qǐng)選擇兩個(gè)主題" } });用其他方式替代默認(rèn)的 SUBMIT
$().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("提交事件!"); form.submit(); } }); });
$("#btnSubmit").click(function(){ if ($("#frmAddVisit").valid() == true) { submitInfo(); } });
$(".selector").validate({ submitHandler: function(form) { $(form).ajaxSubmit(); } })debug,只驗(yàn)證不提交表單
$().ready(function() { $("#signupForm").validate({ debug:true }); });更改錯(cuò)誤信息顯示的位置
默認(rèn)情況是:把錯(cuò)誤信息放在驗(yàn)證的元素后面
參數(shù) | 類(lèi)型 | 描述 | 默認(rèn)值 |
---|---|---|---|
errorClass | String | 指定錯(cuò)誤提示的 css 類(lèi)名,可以自定義錯(cuò)誤提示的樣式。 | "error" |
errorElement | String | 用什么標(biāo)簽標(biāo)記錯(cuò)誤,默認(rèn)是 label,可以改成 em。 | "label" |
errorContainer | Selector | 顯示或者隱藏驗(yàn)證信息,可以自動(dòng)實(shí)現(xiàn)有錯(cuò)誤信息出現(xiàn)時(shí)把容器屬性變?yōu)轱@示,無(wú)錯(cuò)誤時(shí)隱藏,用處不大。 | |
errorLabelContainer | Selector | 把錯(cuò)誤信息統(tǒng)一放在一個(gè)容器里面。 | |
wrapper | String | 用什么標(biāo)簽再把上邊的 errorELement 包起來(lái)。 |
$.validator.setDefaults({ submitHandler: function() { alert("提交事件!"); } }); $().ready(function() { // 提交時(shí)驗(yàn)證表單 var validator = $("#form1").validate({ errorPlacement: function(error, element) { // Append error within linked label $( element ) .closest( "form" ) .find( "label[for="" + element.attr( "id" ) + ""]" ) .append( error ); }, errorElement: "span", messages: { user: { required: " (必需字段)", minlength: " (不能少于 3 個(gè)字母)" }, password: { required: " (必需字段)", minlength: " (字母不能少于 5 個(gè)且不能大于 12 個(gè))", maxlength: " (字母不能少于 5 個(gè)且不能大于 12 個(gè))" } } }); $(".cancel").click(function() { validator.resetForm(); }); });異步驗(yàn)證
remote:{ url: site_path + "/open/check?d=" + Math.random(), //后臺(tái)處理程序 type: "post", //數(shù)據(jù)發(fā)送方式 dataType: "json", //接受數(shù)據(jù)格式 data: { //要傳遞的數(shù)據(jù) companyname: function() { return $("#companyname").val(); } } }
@ResponseBody @RequestMapping(value = "/open/check", method = RequestMethod.POST) public boolean check(HttpServletRequest httpRequest) { return false; }
添加自定義校驗(yàn)服務(wù)端就直接返回boolean值,如果不通過(guò)則返回false,反之返回true
addMethod:name, method, message
參數(shù) name 是添加的方法的名字。
參數(shù) method 是一個(gè)函數(shù),接收三個(gè)參數(shù) (value,element,param) 。
value 是元素的值,element 是元素本身,param 是參數(shù)。
// 中文字兩個(gè)字節(jié) jQuery.validator.addMethod("byteRangeLength", function(value, element, param) { var length = value.length; for(var i = 0; i < value.length; i++){ if(value.charCodeAt(i) > 127){ length++; } } return this.optional(element) || ( length >= param[0] && length <= param[1] ); }, $.validator.format("請(qǐng)確保輸入的值在{0}-{1}個(gè)字節(jié)之間(一個(gè)中文字算2個(gè)字節(jié))")); // 郵政編碼驗(yàn)證 jQuery.validator.addMethod("isZipCode", function(value, element) { var tel = /^[0-9]{6}$/; return this.optional(element) || (tel.test(value)); }, "請(qǐng)正確填寫(xiě)您的郵政編碼");
要在 additional-methods.js 文件中添加或者在 jquery.validate.js 文件中添加。建議一般寫(xiě)在 additional-methods.js 文件中。
$.validator.addMethod("af",function(value,element,params){ if(value.length>1){ return false; } if(value>=params[0] && value<=params[1]){ return true; }else{ return false; } },"必須是一個(gè)字母,且a-f");
username:{ af:["a","f"] }
jQuery.validate 中文 APIaddMethod 的第一個(gè)參數(shù),是添加的驗(yàn)證方法的名字,這時(shí)是 af。
addMethod 的第三個(gè)參數(shù),是自定義的錯(cuò)誤提示,這里的提示為:"必須是一個(gè)字母,且a-f"。
addMethod 的第二個(gè)參數(shù),是一個(gè)函數(shù),這個(gè)比較重要,決定了用這個(gè)驗(yàn)證方法時(shí)的寫(xiě)法。
如果只有一個(gè)參數(shù),直接寫(xiě),比如 af:"a",那么 a 就是這個(gè)唯一的參數(shù),如果多個(gè)參數(shù),則寫(xiě)在 [] 里,用逗號(hào)分開(kāi)。
名稱(chēng) | 返回類(lèi)型 | 描述 |
---|---|---|
validate(options) | Validator | 驗(yàn)證所選的 FORM。 |
valid() | Boolean | 檢查是否驗(yàn)證通過(guò)。 |
rules() | Options | 返回元素的驗(yàn)證規(guī)則。 |
rules("add",rules) | Options | 增加驗(yàn)證規(guī)則。 |
rules("remove",rules) | Options | 刪除驗(yàn)證規(guī)則。 |
removeAttrs(attributes) | Options | 刪除特殊屬性并且返回它們。 |
##### Validator
名稱(chēng) | 返回類(lèi)型 | 描述 |
---|---|---|
form() | Boolean | 驗(yàn)證 form 返回成功還是失敗。 |
element(element) | Boolean | 驗(yàn)證單個(gè)元素是成功還是失敗。 |
resetForm() | undefined | 把前面驗(yàn)證的 FORM 恢復(fù)到驗(yàn)證前原來(lái)的狀態(tài)。 |
showErrors(errors) | undefined | 顯示特定的錯(cuò)誤信息。 |
Validator 函數(shù) | ||
setDefaults(defaults) | undefined | 改變默認(rèn)的設(shè)置。 |
addMethod(name,method,message) | undefined | 添加一個(gè)新的驗(yàn)證方法。必須包括一個(gè)獨(dú)一無(wú)二的名字,一個(gè) JAVASCRIPT 的方法和一個(gè)默認(rèn)的信息。 |
addClassRules(name,rules) | undefined | 增加組合驗(yàn)證類(lèi)型,在一個(gè)類(lèi)里面用多種驗(yàn)證方法時(shí)比較有用。 |
addClassRules(rules) | undefined | 增加組合驗(yàn)證類(lèi)型,在一個(gè)類(lèi)里面用多種驗(yàn)證方法時(shí)比較有用。這個(gè)是同時(shí)加多個(gè)驗(yàn)證方法。 |
onsubmit、onfocusout、onkeyup、onclick、focusInvalid默認(rèn)的時(shí)候都是true,focusCleanup默認(rèn)為false
$(".selector").validate({ onsubmit:false })
更多內(nèi)容可以關(guān)注微信公眾號(hào),或者訪問(wèn)AppZone網(wǎng)站
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/49887.html
規(guī)則 描述 required:true 必須輸入的字段。 remote:check.php 使用 ajax 方法調(diào)用 check.php 驗(yàn)證輸入值。 email:true 必須輸入正確格式的電子郵件。 url:true 必須輸入正確格式的網(wǎng)址。 date:true 必須輸入正確格式的日期。日期校驗(yàn) ie6 出錯(cuò),慎用。 dateISO:true 必須輸入正確格式的日期(...
摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
摘要:好多編輯器例如等都支持這樣的語(yǔ)法來(lái)快速的編寫(xiě)代碼如何優(yōu)雅地使用把標(biāo)簽放在結(jié)束標(biāo)簽之后結(jié)束標(biāo)簽之前的差別什么是響應(yīng)式設(shè)計(jì)怎樣進(jìn)行 書(shū)籍 《JavaScriptDOM編程藝術(shù)》《JavaScript高級(jí)程序設(shè)計(jì)》《JavaScript框架設(shè)計(jì)》《JavaScript專(zhuān)家編程》《JavaScript Ninjia》《JavaScript語(yǔ)言精粹(修訂版)》《JavaScript設(shè)計(jì)模式》《J...
1.前言 上篇文章,主要介紹了重構(gòu)的一些概念和一些簡(jiǎn)單的實(shí)例。這一次,詳細(xì)的說(shuō)下項(xiàng)目中的一個(gè)重構(gòu)場(chǎng)景--給API設(shè)計(jì)擴(kuò)展機(jī)制。目的就是為了方便以后能靈活應(yīng)對(duì)需求的改變。當(dāng)然了,是否需要設(shè)計(jì)擴(kuò)展性這個(gè)要看API的需求。如果大家有什么建議,歡迎評(píng)論留言。 2.擴(kuò)展性表現(xiàn)形式 2-1.prototype 這個(gè)可以說(shuō)是JS里面最原的一個(gè)擴(kuò)展。比如原生JS沒(méi)有提供打亂數(shù)組順序的API,但是開(kāi)發(fā)者又想方便使用...
閱讀 2349·2021-11-22 13:52
閱讀 1149·2021-11-17 09:33
閱讀 2885·2021-09-01 10:49
閱讀 2982·2019-08-30 15:53
閱讀 2789·2019-08-29 16:10
閱讀 2561·2019-08-29 11:31
閱讀 1583·2019-08-26 11:40
閱讀 2044·2019-08-26 10:59