不确定我做错了什么。我正在使用 jQuery Validation插入。这是我的 jQuery 代码:
$('#form-login').validate({
onsubmit: true,
onfocusout: false,
errorClass: 'invalid',
wrapper: 'li',
errorLabelContainer: '#login-error-list ul',
errorContainer: '#login-error-list',
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);
},
rules: {
username: 'required',
password: 'required'
},
messages: {
username: 'Please enter your username.',
password: 'Please enter your password.'
}
});
在撰写本文时,我非常仔细地遵循了 API 文档。然而,无论输入什么输入(无论是没有输入,还是任何有效的输入),它仍然会抛出一个错误,就好像用户名和/或密码从未输入过一样。您可以在 this login page 上亲自查看。 .
有人知道问题出在哪里吗?
附言:我应该添加生成表单和错误容器的 HTML 代码:
<p>Already have an account with us? Then log in!</p>
<form action="login.php" method="post" id="form-login">
<input type="hidden" name="success_page" value="" />
<div class="group">
<label for="username">Username:</label>
<input type="text" name="username" id="username" title="Username" maxlength="20" min="6" max="20" />
</div>
<div class="group">
<label for="password">Password:</label>
<input type="password" name="password" id="password" title="Password" min="6" />
</div>
<div id="login-error-list" class="group" style="display: none;">
<p>Errors:</p>
<ul></ul>
</div>
最佳答案
删除您的自定义消息,您将看到真正的问题是什么:
您将两个输入都设置为仅接受数字 >6。
我假设您的意图是最小长度。将两个最小属性替换为最小长度并删除用户名的最大值。
关于javascript - jQuery 验证插件无法识别有效输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5918131/