0

jQuery.validate ライブラリを使用して、フォーム フィールドがデータの配列と一致するかどうかを確認しています。

リモートメソッドのドキュメントは次のとおりです。

true を返すと、jQuery.validate は1エラー フィールドに を表示し、エラーが発生したかのようにフォームをブロックします。echo true;PHPファイル以外に何もない場合でも、同じ結果が得られます。これについて私が見つけることができるすべての参照はasync:false、私が行った設定を示唆しています。以下のコードは、私の Web ページに正確です。

var unl_validator = jQuery('.unlimited_coupon_form').validate({
    rules: {
        coupon: {
            required: true,
            minlength: 4,
            remote: {
                url: "<?= get_template_directory_uri() ?>/inc/checkCoupon.php",
                async:false,
                data: {
                    coupon: function(){
                        return jQuery('#subscribe_coupon').val();
                    },
                },
                type: "post",

            }
        }
    },
    messages: {
        coupon: { required: "Please enter a valid coupon.", minlength: "Please enter a valid coupon.", remote: "This coupon code is not valid." }
    },
    onkeyup: false,
    onblur: true
});
4

1 に答える 1

1

検証プラグインは true が表示された場合の対処方法を認識していますか? それのように聞こえません。おそらく、PHP で何か他のものを表示する必要があります。

サーバーの応答を正しく出力するには、単純な文字列では不十分です。PHP では、JSON を次のように使用できます。

$result = true;
echo json_encode($result);

または、特定の値を出力する必要がある場合

$result = new stdClass();
$result->someField = true;
$result->otherField = false;
echo json_encode($result);
// the above will output {someField: 1, otherField: 0}; 
于 2013-04-02T23:13:51.003 に答える