JQuery добавление пользовательского пароля правило не работает
Я новичок в jQuery, и я использую валидатор формы jQuery для проверки моей формы..
Проблема в том, что мне нужно подтвердить пароль, так как он должен содержать хотя бы одну цифру.
Я искал в Google, и я нашел пример здесь Ссылка на forum.jquery
Вот фрагмент моего HTML-кода
<form name="f2" id="f2" method="post" action="hello">
<table>
<tr>
<th>
Password
</th>
<td>
<input type="password" name="pwd" id="pwd" placeholder="Enter Password" class="text_box">
</td>
</tr>
<tr>
<td>
<button type="submit" class="submit-button">Register</button>
</td>
</tr>
</table>
</form>
//jquery script for form validation
<script>
$(document).ready(function(){
$("#f2").validate({
debug: false,
rules: {
pwd:{
required:true,
minlength:5
}
},
messages:
{
pwd:{
required:"Please enter password",
minlength:"Please enter minimum characters"
}
}
});
});
</script>
Все работает нормально, пока я не добавлю эту строку в правила кода выше
pwd:{
required:true,
minlength:5,
mypassword: true
}
Я включил дополнительный файл сценариев, который содержит следующий метод
jQuery.validator.addMethod('mypassword', function(value, element)
{
return this.optional(element) || (value.match(/[a-zA-Z]/) && value.match(/[0-9]/));
},
'Password must contain at least one numeric and one alphabetic character.');
После попытки выполнить приведенный выше код я получил следующее сообщение об ошибке в консоли браузера:
Uncaught TypeError: Невозможно вызвать метод 'call' из undefined в js/jqueryvalidation.js
Почему дополнительный метод не работает?
Любая помощь или предложения будут с благодарностью.
1 ответ
Пожалуйста, проверьте пример в ссылке Fiddler: http://jsfiddle.net/NaaEw/
jQuery.validator.addMethod('mypassword', function(value, element)
{
return this.optional(element) || (value.match(/[a-zA-Z]/) && value.match(/[0-9]/));
});
и сообщение:
pwd:{
required:"Please enter password",
minlength:"Please enter minimum characters",
mypassword: 'Password must contain at least one numeric and one alphabetic character.'
Надеюсь, это то, что вы ожидаете.