Javascript 将JSON用于jQuery验证程序规则和消息

Javascript 将JSON用于jQuery验证程序规则和消息,javascript,jquery,ajax,json,jquery-validate,Javascript,Jquery,Ajax,Json,Jquery Validate,我正在使用jQuery验证插件 典型的JC配置可能如下所示: $(".selector").validate({ rules: { name: "required", email: { required: true, email: true } }, messages: { name: "Please specify your name", em

我正在使用jQuery验证插件

典型的JC配置可能如下所示:

$(".selector").validate({
    rules: {
        name: "required",
        email: {
            required: true,
            email: true
        }
    },
    messages: {
        name: "Please specify your name",
        email: {
            required: "We need your email address to contact you",
            email: "Your email address must be in the format of name@domain.com"
        }
    }
});
$.getJSON("getValidation.json", function(json) {
    $(".selector").validate(json);
});
我希望将规则和消息包含在单独的JSON文件中,而不是包含在JavaScript文件中。请注意,此问题不适用于使用远程方法

有没有具体的方法可以做到这一点,或者我必须做到以下几点:

$(".selector").validate({
    rules: {
        name: "required",
        email: {
            required: true,
            email: true
        }
    },
    messages: {
        name: "Please specify your name",
        email: {
            required: "We need your email address to contact you",
            email: "Your email address must be in the format of name@domain.com"
        }
    }
});
$.getJSON("getValidation.json", function(json) {
    $(".selector").validate(json);
});

我认识到,如果规则需要回调,这种方法将不起作用,因为它将破坏JSON。

您的JSON无效,JSON属性应包含在引号规则中:{ 名称:必填项, 电邮:{ 要求:正确, 电子邮件:真的 }
但除此之外,它应该可以工作

你写的东西看起来应该可以工作。我不认为有任何预定义的方法来完成你正在做的事情,你需要明确地获得JSON。@Barmar。还没有测试过它,但我相信它会工作。只是不知道是否有某种内置的方法。不幸的是,我会的,很少有需要在规则中回调的情况。这样做时,我会在客户端剥离标记,但我没有考虑太多这将如何工作,并且内置方法会很好。因为这个问题不适用于使用远程方法,那么也许你不应该直接链接到远程方法。@Sparky Good point!我去了我想知道他们是如何引用它的,并且无意中使用了此链接。同意,他们是。我向您展示的示例来自jQuery Validator文档。OP的代码是100%正确的,因为它是在.validate方法中使用的。