1

電話番号の検証が電話番号フィールドに対してトリガーされた理由を理解しようとしています。一連のフィールドの検証を設定するために、 Validatorプラグインとマスクされた入力プラグインの両方を使用しています。この特定の問題がマスクされた入力プラグインの使用に関連しているとは思わないが、とにかくそれについて言及している。

いずれかのフィールド(拡張フィールドを除く)が入力されている場合は、すべてのフィールド(拡張を除く)が必須です。そのコードは本来あるべきことを実行していますが、検証によって、私が望まない追加の検証がトリガーされています。電話番号は、必要な場所に何もコーディングしていませんが、長さのチェックを行っています。

        $("#requestform").validate({
        rules: {
            namedepa: {
                skip_or_fill_minimum: [6, ".section"]
            },
            techdepa: {
                skip_or_fill_minimum: [6, ".section"]
            },
            conphodepa: {
                skip_or_fill_minimum: [6, ".section"],
                maskedPhone: true
            },
            techemaildepa: {
                skip_or_fill_minimum: [6, ".section"]
            },
            adddepa: {
                skip_or_fill_minimum: [6, ".section"]
            },
            roomdepa: {
                skip_or_fill_minimum: [6, ".section"]
            }
        },
        onfocusout: function (element) {
            $(element).valid();
        },
        focusCleanup: true,
        errorClass: "error"
    });
    var ErrorMessage = " Required";
    jQuery.extend(jQuery.validator.messages, {
        skip_or_fill_minimum: ErrorMessage,
        required: ErrorMessage
    });

私が抱えている問題を示すJSFiddleを作成しました。フィールドをタブで移動すると、電話番号フィールドにアクセスして渡すと、「10文字以内で入力する必要があります」というメッセージが表示されます。

ここからどこへ行けばいいのかわからない。私が作成したJsFiddleには、私が作成したmaskedPhoneバリデーターもありますが、これは問題とは言えませんが、www.regexpal.comWebサイトで使用している電話番号をテストしました。

4

1 に答える 1

1

コールバック関数は必要ありませんonfocusout...これがデフォルトの動作です。またerrorClass: "error"、デフォルトです。 詳細については、ドキュメントを参照してください

maxlength="10"次に、電話フィールド内の属性と、マスクされた入力自体が 10 文字を超えることによって、エラー メッセージがトリガーされます。

<input name="phodepa" type="text" maxlength="10" id="phodepa" class="setTelephone section"/>

変更したコード: http://jsfiddle.net/vY22J/

ルールの一部としてフォームのすべてのフィールドを選択しているのに、なぜそのskip_or_fill_minimumルールを使用しているのか完全にはわかりません。それらを allrequiredにすると、何も入力されていない場合はフォーム全体がスキップされます。これは、プラグインのデフォルトの動作でもあります。この場合のポイントを理解していないと思います。


編集

skip_or_fill_minimumユーザーは注意してください:ルールには未解決の Github の問題があります。

https://github.com/jzaefferer/jquery-validation/issues/412

于 2013-03-07T16:41:01.450 に答える