Старый вопрос, но я добавляю свой ответ, чтобы можно было получить помощь
Можно использовать следующее:
создать функцию, которая будет инкапсулировать нашпроверочный тест со следующими сигнатурами: function mytest(value, element, params){...}
После того, как мы установили функцию, мы можем затем присоединить ее к плагину jQuery Validation.Для этого мы вызываем функцию addMethod () объекта валидатора.
Мой код:
$(document).ready(function() {
// other code
// :
// :
$.validator.addMethod(
"passwd",
function(value, element, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
},
"Invalid input"
);
$("#add_user_form").validate({
rules:{
user_name: {
required: true,
minlength: 5,
maxlength: 15,
noSpace: true
},
password: {
required: true,
minlength: 8,
passwd: "((?=(.*\\d.*){2,})(?=(.*[a-zA-Z].*){2,})(?=(.*[@#$(){}!~,.!^?/|+=-_%].*){2,}).{8,20})"
}
},
messages:{
user_name: {
required: "*",
minlength: " at least 5 characters",
maxlenght: " only 15 characters",
noSpace: " No space Please"
},
password: {
required: "*",
minlength: " Your password must be at least 8 characters long",
passwd: " Invalid Password choice"
}
});
//
// more code in document.ready
хорошие ссылки:
Начиная с jQuery - Как написать пользовательские правила проверки
Как добавить правило для проверки регулярного выражения?