我有一个带密码字段的表单。密码长度必须至少为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部分),它按预期工作。
答案 0 :(得分:14)
验证会查找输入字段的 name
,而不是id
。来自rules
选项的文档:
定义自定义规则的键/值对。 Key是元素的名称(或一组复选框/单选按钮)
考虑到这一点,你应该使用这样的东西:
$("#form-register").validate({
rules: {
'data[User][password]': {
minlength: 8
}
}
});
对于带有特殊字符的输入名称,请务必引用对象键。