I have a form with a password field. The password has to be at least 8 characters long.
<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
}
}
});
It applies the "required" rule, but it just ignores the "minlength" rule.
What am I doing wrong? I'm using the same code (the JS part) on other pages and it works as expected.
Validate looks for the name of the input field, not the id. From the documentation for the rules option:
Key/value pairs defining custom rules. Key is the name of an element (or a group of checkboxes/radio buttons)
With that in mind, you should use something like this:
$("#form-register").validate({
rules: {
'data[User][password]': {
minlength: 8
}
}
});
For input names with special characters, be sure to quote the object key.
Example: http://jsfiddle.net/kqczf/4/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With