我有一个使用jquery mobile实现的注册表单。用户可以选择以德语,英语或法语填写此表单 - 有多个内部页面用于显示每种语言的表单。用户通过菜单按钮选择他们的首选语言。
我正在使用jquery validate插件来处理客户端表单验证。这工作正常..我想知道如何在每个语言页面上为表单启用正确的错误消息?当您从github下载插件时,它包含所有本地化错误代码,但我不确定如何启用它..
这是我用来处理为每个语言页面实现表单验证的JavaScript代码..
如果您能帮助我为德语和英语启用正确的错误消息,感谢您!法语页面..
$(document).on("pageshow", "#page_deutsch", function() {
$("#register_deutsch").validate();
});
$(document).on("pageshow", "#page_english", function() {
$("#register_english").validate();
});
$(document).on("pageshow", "#page_francais", function() {
$("#register_francais").validate();
});
答案 0 :(得分:24)
jQuery验证插件本地化 jQuery验证插件的默认语言是英语。 它可以用本地化js文件覆盖,例如。 es,zh,fr等 请参阅here以获取支持的语言列表。
要启用语言支持,我们只需要将其他语言消息j添加到我们的网页(html / jsp / xhtml)中。 为法国人
<script type="text/javascript" src="http://jzaefferer.github.io/jquery-validation/localization/messages_fr.js" />
中文
<script type="text/javascript" src="http://jzaefferer.github.io/jquery-validation/localization/messages_zh.js" />
与其他语言相同,只需找到合适的语言js并将js添加到网页中。
如果列表中没有所需的语言,可行的替代方法是将messages_xx.js的副本下载到项目工作区,然后将其修改为您所需的语言。
虽然提供了语言js,但问题出在1个网页上,我们只能使用1种语言信息。如果网页中有多个语言留言js,则会使用最后一个。
要解决此问题,我们可以按系统区域设置动态加载消息js。
<script type="text/javascript" src="http://jzaefferer.github.io/jquery-validation/localization/messages_<%= Locale.getDefault().getLanguage() %>.js" />
通过上述解决方案,最后我们可以通过不同的系统区域动态处理不同的语言消息。
还有另一种方法可以在这里使用资源包来处理多种语言。
相关的jQuery验证文章:
完成!!
答案 1 :(得分:0)
本地化文件也可在jsdelivr和cloudflare CDN上获取:
例如
https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/localization/messages_de.js https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/localization/messages_fr.js https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/localization/messages_es.js
或
https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/localization/messages_de.js https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/localization/messages_fr.js https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/localization/messages_es.js