11

我有一个带有密码字段的表单。密码长度必须至少为 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
            }
        }
    });

它应用“必需”规则,但它只是忽略“最小长度”规则。

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

4

1 回答 1

17

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

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

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

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

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

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

于 2013-01-19T17:09:26.763 回答