如何使用jquery-验证本地化

How to use jquery-validate localization

有没有办法动态地(即从 JS 代码)set/change 错误消息的语言,使用 repo 中可用的现有翻译?

非解决方案 #1: 加载本地化脚本 (<script type="text/javascript" src="localization/messages_XX.js">) 将不起作用,因为它无法在客户端更改。

非解决方案 #2:使用 setDefaults 设置自定义消息需要我提出自己的字符串,而不是重复使用现有字符串。

使用jQuery $.extend()随时动态替换所有消息。

$.extend($.validator.messages, {....});

示例:

var en = {
        required: "This field is required.",
        ....
    },
    ca = {
        required: "Aquest camp és obligatori.",
        ....
    },
    de = {
        required: "Dieses Feld ist ein Pflichtfeld.",
        ....
    };

$('#language').on('change', function() {
    $.extend($.validator.messages, eval($(this).val()));
});

$('#myform').validate({ ....

演示:http://jsfiddle.net/Lwvoo39u/

本地化:github.com/jzaefferer/jquery-validation/tree/master/src/localization