如何使用jquery-validate本地化

时间:2016-06-02 14:22:10

标签: jquery localization jquery-validate

是否有办法动态(即从JS代码)使用回购中可用的现有翻译设置/更改错误消息的语言?

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

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

1 个答案:

答案 0 :(得分:2)

使用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({ ....

DEMO:http://jsfiddle.net/Lwvoo39u/

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