jquery验证minlength规则不起作用

时间:2013-01-18 18:03:58

标签: jquery jquery-validate

我有一个带密码字段的表单。密码长度必须至少为8个字符。

<form action="/account/register" method="post" id="form-register">
<div class="input-row">
    <input name="data[User][password]" type="password" id="FUserPassword" class="required" placeholder="Password">
</div>

</form>

$("#form-register").validate({
        rules: {
            FUserPassword : {
                minlength: 8
            }
        }
    });

它应用了“必需”规则,但它只是忽略了“minlength”规则。

我做错了什么?我在其他页面上使用相同的代码(JS部分),它按预期工作。

1 个答案:

答案 0 :(得分:14)

验证会查找输入字段的 name ,而不是id。来自rules选项的文档:

  

定义自定义规则的键/值对。 Key是元素的名称(或一组复选框/单选按钮)

考虑到这一点,你应该使用这样的东西:

$("#form-register").validate({
    rules: {
        'data[User][password]': {
            minlength: 8
        }
    }
});

对于带有特殊字符的输入名称,请务必引用对象键。

示例: http://jsfiddle.net/kqczf/4/