如何使用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
有没有办法动态地(即从 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