インスタンス詳細jQueryフォーム検証プラグインvalidate
例、htmlコード
を します.$(document).ready(function(){
//
$('#submit').click(function(){
var pay_password = $('#pay_password').val();
var password_Repeat = $('#password_Repeat').val();
var password_old = $('#password_old').val();
var data = {
'pay_password':pay_password,
'password_Repeat':password_Repeat,
'password_old':password_old
};
console.info(data);
var v = $('#form').validate({
rules : {
pay_password : {
required : true,
minlength : 6,
ismypassword : true
},
password_Repeat : {
required : true,
minlength : 6,
ismypassword : true
},
password_old : {
required : true,
minlength : 6,
}
},
messages : {
pay_password : {
required:「パスワードを してください」、
minlength:「 の さは6 ではいけません」、
ismypasword:「パスワードは 、 、 (!,.@#$%^&*?~)で する があります」
},
password_Repeat : {
required:「パスワードを してください」、
minlength:「 の さは6 ではいけません」、
ismypasword:「パスワードは 、 、 (!,.@#$%^&*?~)で する があります」
},
password_old : {
required:「パスワードを してください」、
minlength:「 の さは6 ではいけません」、
},
}
});
if(pay_password != password_Repeat){
alert(「パスワードが しません. を してください!」);return false;
}
//---------------------------------
if(!v.form())return false;
$.ajax({
url:'{:U("Merchant/ajax_pw")}',
data: data,
beforeSend:function(){
},
success:function(res){
if(res == 1){
alert("パスワード ");・13;
}
if(res == 0){
alert(「パスワードは2 じで、 はしていません」);・13;
}
if(res != 0 && res != 1){
alert(res);
}
}
});
//------------------------
});
})
messages_cn.js
jQuery.extend(jQuery.validator.messages, {
required: " ",
remote: " ",
email: " ",
url: " ",
date: " ",
dateISO: " (ISO).",
number: " ",
digits: " ",
creditcard: " ",
equalTo: " ",
accept: " ",
maxlength: jQuery.validator.format(" {0} "),
minlength: jQuery.validator.format(" {0} "),
rangelength: jQuery.validator.format(" {0} {1} "),
range: jQuery.validator.format(" {0} {1} "),
max: jQuery.validator.format(" {0} "),
min: jQuery.validator.format(" {0} ")
});
validator
jquery.validate
jquery.validate API
jquery.validate
jquery.validate
jquery.validate
http://docs.jquery.com/Plugins/Validation
jquery.validate
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
jquery.validate demo
http://jquery.bassistance.de/validate/demo/
,
(1)required:true
(2)remote:"check.php" ajax check.php
(3)email:true
(4)url:true
(5)date:true
(6)dateISO:true (ISO), :2009-06-23,1998/01/22 ,
(7)number:true ( , )
(8)digits:true
(9)creditcard:
(10)equalTo:"#field" #field
(11)accept: ( )
(12)maxlength:5 5 ( )
(13)minlength:10 10 ( )
(14)rangelength:[5,10] 5 10 ")( )
(15)range:[5,10] 5 10
(16)max:5 5
(17)min:10 10
, , jQuery.extend(jQuery.validator.messages , 。
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: $.validator.format("Please enter no more than {0} characters."),
minlength: $.validator.format("Please enter at least {0} characters."),
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
range: $.validator.format("Please enter a value between {0} and {1}."),
max: $.validator.format("Please enter a value less than or equal to {0}."),
min: $.validator.format("Please enter a value greater than or equal to {0}.")
1:
, :
( )
2:
, :
( ,[3,5])
3:
javascript , JS ,password confirm_password
$().ready(function() {
$("#form2").validate({
rules: {
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
}
},
messages: {
password: {
required: " ",
minlength: jQuery.format(" {0} ")
},
confirm_password: {
required: " ",
minlength: " {0} ",
equalTo: " "
}
}
});
});
required true/false , ,
$("#form2").validate({
rules: {
funcvalidate: {
required: function() {return $("#password").val()!=""; }
}
},
messages: {
funcvalidate: {
required: " "
}
}
});
Html
4:
meta
JS meta
$("#form3").validate({ meta: "validate" });
Html
email
5:
meta , validate
JS meta
$().ready(function() {
$.metadata.setType("attr", "validate");
$("#form1").validate();
});
Html
Email
6:
, jQuery.validator.addMethod
additional-methods.js , lettersonly,ziprange,nowhitespace
//
jQuery.validator.addMethod("userName", function(value, element) {
return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
}, " 、 、 ");
//
$("#form1").validate({
//
rules: {
userName: {
required: true,
userName: true,
rangelength: [5,10]
}
},
/* */
messages: {
userName: {
required: " ",
rangelength: " 5-10 "
}
},
});
7:
radio、checkbox、select
radio
checkbox
1
2
3
select
8:
Ajax
remote Ajax
remote: {
url: "url", //url
type: "post", //
dataType: "json", // data: { //
username: function() {
return $("#username").val();
}}
}
Plugin methods
Name Type
validate( options ) Returns: Validator
FORM
valid( ) Returns: Boolean
rules( ) Returns: Options
rules( "add", rules ) Returns: Options
rules( "remove", rules ) Returns: Options
removeAttrs( attributes ) Returns: Options
Custom selectors
Name Type
:blank Returns: Array
:filled Returns: Array
:unchecked Returns: Array
Utilities
Name Type
jQuery.format( template, argument , argumentN... ) Returns: String
{n}。
Validator
validate Validator , , form .
.
form( ) Returns: Boolean
form
element( element ) Returns: Boolean
resetForm( ) Returns: undefined
FORM
showErrors( errors ) Returns: undefined
built-in Validation methods
Name Type
setDefaults( defaults ) Returns: undefined
addMethod( name, method, message ) Returns: undefined
. , JAVASCRIPT
addClassRules( name, rules ) Returns: undefined
addClassRules( rules ) Returns: undefined
built-in Validation methods
Name Type
required( ) Returns: Boolean
required( dependency-expression ) Returns: Boolean
.
required( dependency-callback ) Returns: Boolean
.
remote( url ) Returns: Boolean
。url
minlength( length ) Returns: Boolean
maxlength( length ) Returns: Boolean
rangelength( range ) Returns: Boolean
[min,max]
min( value ) Returns: Boolean
.
max( value ) Returns: Boolean
.
range( range ) Returns: Boolean
email( ) Returns: Boolean
url( ) Returns: Boolean
date( ) Returns: Boolean
( 30/30/2008 , )
dateISO( ) Returns: Boolean
ISO
dateDE( ) Returns: Boolean
(29.04.1994 or 1.1.2006)
number( ) Returns: Boolean
( )
numberDE( ) Returns: Boolean
Makes the element require a decimal number with german format.
digits( ) Returns: Boolean
creditcard( ) Returns: Boolean
accept( extension ) Returns: Boolean
equalTo( other ) Returns: Boolean
jquery-validate
1:
submitHandler
$(".selector").validate({
submitHandler: function(form) { alert(" "); }
});
,
form.submit(); $(form).ajaxSubmit();
2:
debug true, , ,
$(".selector").validate({
debug: true
})
3: validate
setDefaults validate , debug
$.validator.setDefaults({
debug: true
})
4:
ignore
$(".selector").validate({
ignore: "ignore"
})
5:
jquery.validate
onsubmit:
$(".selector").validate({
onsubmit: false
})
onfocusout: (checkboxes/radio )
$(".selector").validate({
onfocusout: false
})
onkeyup: keyup
$(".selector").validate({
onkeyup: false
})
onclick: checkboxes、radio .
$(".selector").validate({
onclick: false
})
6:
// max
$.validator.messages.max = jQuery.format("Your totals musn't exceed {0}!");
// equal
$.validator.methods.equal = function(value, element, param) {
return value == param;
};
7: focusInvalid
$(".selector").validate({
focusInvalid: false
})
8: focusCleanup
True, , class , , focusInvalid. 。
$(".selector").validate({
focusCleanup: true
})
9: meta
meta
$(".selector").validate({
meta: "validate",
})
, label , css class, css 。
/* */
form input.error { border:solid 1px red;}
/* */
form label.error{width: 200px;margin-left: 10px; color: Red;}
, jquery.validate
label , errorElement
errorElement: html
$(".selector").validate
errorElement: "em"
})
。
wrapper: html
$(".selector").validate({
wrapper: "li"
})
css class error, errorClass
errorClass: css class
$(".selector").validate({
errorClass: "invalid"
})
success: , css , ,
$(".selector").validate({
success: "valid"
})
success: function(label) {
label.html(" ").addClass("checked");
}
errorLabelContainer:
$("#myform").validate({
errorLabelContainer: "#messageBox"
})
, ,
$(".selector").validate({
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
}
})
, , error Placement
groups:
$(".selector").validate({
groups: {
username: "fname lname"
},
errorPlacement: function(error, element) {
if (element.attr("name") == "fname" || element.attr("name") == "lname" )
error.insertAfter("#lastname");
else
error.insertAfter(element);
}
})
highlight: , errorClass
unhighlight: highlight ,
$(".selector").validate({
highlight: function(element, errorClass) {
$(element).addClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
},
unhighlight: function(element, errorClass) {
$(element).removeClass(errorClass);
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
}
});
showErrors:
$(".selector").validate({
showErrors: function(errorMap, errorList) {
$("#summary").html("Your form contains " + this.numberOfInvalids()
+ " errors, see details below.");
this.defaultShowErrors();
}
})
//
jQuery.validator.addMethod("mobile", function(value, element) {
var length = value.length;
var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/
return this.optional(element) || (length == 11 && mobile.test(value));
}, " ");
//
jQuery.validator.addMethod("phone", function(value, element) {
var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
return this.optional(element) || (tel.test(value));
}, " ");
//
jQuery.validator.addMethod("zipCode", function(value, element) {
var tel = /^[0-9]{6}$/;
return this.optional(element) || (tel.test(value));
}, " ");
// QQ
jQuery.validator.addMethod("qq", function(value, element) {
var tel = /^[1-9]\d{4,9}$/;
return this.optional(element) || (tel.test(value));
}, "qq ");
// IP
jQuery.validator.addMethod("ip", function(value, element) {
var ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
return this.optional(element) || (ip.test(value) && (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256));
}, "Ip ");
//
jQuery.validator.addMethod("chrnum", function(value, element) {
var chrnum = /^([a-zA-Z0-9]+)$/;
return this.optional(element) || (chrnum.test(value));
}, " ( A-Z, a-z, 0-9)");
//
jQuery.validator.addMethod("chinese", function(value, element) {
var chinese = /^[\u4e00-\u9fa5]+$/;
return this.optional(element) || (chinese.test(value));
}, " ");
//
$.validator.addMethod("selectNone", function(value, element) {
return value == " ";
}, " ");
//
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(" {0}-{1} ( 2 )"));