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 に答える