-2

stackoverflow でこの質問を書くと、電話と携帯電話のフィールドが空の場合、エラー メッセージが表示されますが、その後、2 つのフィールドのいずれかが入力され、フォームが再度送信されると、エラー メッセージが残ります。検証チェックは入力の古い値で行われ、ページが更新されると新しい値が取得されます。誰かがこの問題を解決するのを手伝ってくれるとありがたいです??

4

2 に答える 2

3

1)リンクした質問に従ってオプションを使用してこのjsFiddleを構築しましたが、まだ多くの問題が見られます。ルールはまったく機能していないようで、両方のフィールドが常に必要です。depends

2)ファイルrequire_from_groupにルールが含まれていadditional-methods.jsます。classルールが対象とするためには、2 つのフィールドが同じである必要があります(この場合は.group. ただし、この方法には既知のバグがいくつかあり、フォームの他のすべてのルールが無効になります。

デモ: http://jsfiddle.net/SvSrR/

$(document).ready(function () {

    $('#myform').validate({ // initialize the plugin
        groups: {
            name: "telephone mobile"
        },
        rules: {
            telephone: {
                require_from_group: [1, '.group']
            },
            mobile: {
                require_from_group: [1, '.group']
            }
        }
    });

});

3) 代わりに、カスタム ルールcustomrule(好きな名前を付けることができます) を作成しました。groupsまた、2 つのエラー メッセージを 1 つに結合するオプションも使用しました。

動作デモ: http://jsfiddle.net/2g8hL/

$(document).ready(function () {

    $.validator.addMethod("customrule", function (value, element) {
        return (!($("#mobile").val() === '') || !($("#telephone").val() === ''));
    }, "please fill out at least one");

    $('#myform').validate({ // initialize the plugin
        groups: {
            name: "telephone mobile"
        },
        rules: {
            telephone: {
                customrule: true
            },
            mobile: {
                customrule: true
            }
        }
    });

});
于 2013-03-08T17:11:31.350 に答える
0

カスタムエラー配置を試してみてください

$('#form').validate({
    errorPlacement: function(error,element) {
                       return true;
                    }
});
于 2013-03-08T11:52:14.600 に答える