jquery验证minlength规则不起作用

for*_*rst 11 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
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

它应用"必需"规则,但它只是忽略"minlength"规则.

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

And*_*ker 17

验证查找name输入字段,而不是id.从rules选项的文档 :

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

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

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

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

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