Правило jquery validate minlength не работает

У меня есть форма с полем пароля. Длина пароля должна быть не менее 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

Validate ищет name поля ввода, а не id. Из документации для опции rules:

Пара ключей/значений, определяющих пользовательские правила. Ключ - это имя элемента (или группы флажков/переключателей)

С учетом этого вы должны использовать что-то вроде этого:

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

Для ввода имен со специальными символами обязательно указывайте ключ объекта.

Пример: http://jsfiddle.net/kqczf/4/

Ответ 2

Я не знаю, почему он не работает со значениями больше 254, я пытался, но 254 является значением максимальной длины, которое может проверить плагин.