0

我正在使用 jQuery.validate 库来检查表单字段是否与数据数组匹配。

这是远程方法的文档。

当它返回 true 时,jQuery.validate1在错误字段中显示 a,并阻止表单,就好像出现错误一样。即使echo true;我的 PHP 文件中什么都没有,我也会得到相同的结果。我能找到的每一个参考都暗示async:false了我已经完成的设置。下面的代码对我的网页是准确的:

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

验证插件是否知道如何处理真实的显示?听起来不像。您可能需要在 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 回答