是否有办法动态(即从JS代码)使用回购中可用的现有翻译设置/更改错误消息的语言?
非解决方案#1 :加载本地化脚本(<script type="text/javascript" src="localization/messages_XX.js">
)无法正常工作,因为无法在客户端更改。
非解决方案#2 :使用setDefaults
设置自定义消息要求我提出自己的字符串,而不是重复使用现有字符串。
答案 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