jQuery验证插件无法识别有效输入

时间:2011-05-06 23:49:17

标签: javascript jquery jquery-validate validation

不确定我做错了什么。我正在使用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上看到自己。

任何人都知道问题可能是什么?

P.S。:我应该添加生成表单和错误容器的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>

1 个答案:

答案 0 :(得分:3)

删除自定义消息,您将看到真正的问题:

http://jsfiddle.net/DLcLJ/

您将两个输入设置为仅接受数字&gt; 6.

我假设你想要的是minlength。用minlength替换这两个min属性,并删除用户名上的max。