JQuery 验证国际化问题

发布于 2024-11-29 21:47:42 字数 133 浏览 0 评论 0原文

如何更改以浏览器语言给出错误消息的 JQuery 验证插件。我的意思是,如果我在具有英语语言的浏览器上运行它,错误将是英语,或者如果浏览器的语言是土耳其语,错误消息也将是土耳其语(当然,我会以该语言定义消息,如果我没有根据浏览器的语言定义错误消息列表)

How can I change JQuery Validation plugin that gives error message at browser's language. I mean if I run it on a browser that has English language errors will be in English or if the browser's language is Turkish error messages will be Turkish too(of course I will define messages at that languages, also I should define a default language if I didn't define an error message list according to browser's language)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

メ斷腸人バ 2024-12-06 21:47:42

你可以看看 jquery 的本地化插件: http://keith-wood.name/localization.html

它允许根据浏览器定义的语言加载 javascript 文件。

jquery 验证插件附带本地化文件,可在以下地址获取: http://ajax .aspnetcdn.com/ajax/jquery.validate/1.9/localization/messages_##.js 其中 ## 是本地代码。

您可以做的是加载带有默认错误消息的验证插件,然后使用本地化插件加载特定于语言的错误消息。您甚至可以编写本地化的 js 文件,语法非常简单:

/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: FR
 */
 jQuery.extend(jQuery.validator.messages, {
    required: "Ce champ est requis.",
    remote: "Veuillez remplir ce champ pour continuer.",
    email: "Veuillez entrer une adresse email valide.",
    url: "Veuillez entrer une URL valide.",
    date: "Veuillez entrer une date valide.",
    dateISO: "Veuillez entrer une date valide (ISO).",
    number: "Veuillez entrer un nombre valide.",
    digits: "Veuillez entrer (seulement) une valeur numérique.",
    creditcard: "Veuillez entrer un numéro de carte de crédit valide.",
    equalTo: "Veuillez entrer une nouvelle fois la même valeur.",
    accept: "Veuillez entrer une valeur avec une extension valide.",
    maxlength: jQuery.validator.format("Veuillez ne pas entrer plus de {0} caractères."),
    minlength: jQuery.validator.format("Veuillez entrer au moins {0} caractères."),
    rangelength: jQuery.validator.format("Veuillez entrer entre {0} et {1} caractères."),
    range: jQuery.validator.format("Veuillez entrer une valeur entre {0} et {1}."),
    max: jQuery.validator.format("Veuillez entrer une valeur inférieure ou égale à  {0}."),
    min: jQuery.validator.format("Veuillez entrer une valeur supérieure ou égale à  {0}.")
});

希望这有帮助!

You could have a look at the jquery's localisation plugin: http://keith-wood.name/localisation.html

It allows loading javascript files based on the browser's defined language.

The jquery validation plugin comes with localisation files available at this adress: http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/localization/messages_##.js where ## is the loc code.

What you can do is load the validation plugin with the default error messages and then use the localization plugin to load the language-specific error messages. You can even write your localized js file, syntax is pretty trivial:

/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: FR
 */
 jQuery.extend(jQuery.validator.messages, {
    required: "Ce champ est requis.",
    remote: "Veuillez remplir ce champ pour continuer.",
    email: "Veuillez entrer une adresse email valide.",
    url: "Veuillez entrer une URL valide.",
    date: "Veuillez entrer une date valide.",
    dateISO: "Veuillez entrer une date valide (ISO).",
    number: "Veuillez entrer un nombre valide.",
    digits: "Veuillez entrer (seulement) une valeur numérique.",
    creditcard: "Veuillez entrer un numéro de carte de crédit valide.",
    equalTo: "Veuillez entrer une nouvelle fois la même valeur.",
    accept: "Veuillez entrer une valeur avec une extension valide.",
    maxlength: jQuery.validator.format("Veuillez ne pas entrer plus de {0} caractères."),
    minlength: jQuery.validator.format("Veuillez entrer au moins {0} caractères."),
    rangelength: jQuery.validator.format("Veuillez entrer entre {0} et {1} caractères."),
    range: jQuery.validator.format("Veuillez entrer une valeur entre {0} et {1}."),
    max: jQuery.validator.format("Veuillez entrer une valeur inférieure ou égale à  {0}."),
    min: jQuery.validator.format("Veuillez entrer une valeur supérieure ou égale à  {0}.")
});

Hope this helps !

開玄 2024-12-06 21:47:42

Jquery 验证插件使用数组变量。我定义了不同的数组变量,如下所示:

locale_tr, locale_en, locale_sw etc.

我将浏览器的语言作为两个字符

tr en sw

,并调用变量:

locale_ + browser's two character language

所以它对我有用。

Jquery validation plugin works with an array variable. I defined different array variables as like:

locale_tr, locale_en, locale_sw etc.

I get browser's language as two character as like

tr en sw

and I call the variable of :

locale_ + browser's two character language

so it works for me.

余罪 2024-12-06 21:47:42

以下是设置自定义验证消息的简单方法的建议:

1. 创建一个名称为 XX_Messages.ee.js 的 js 文件,语法为:

 LANG = {

    PERSONAL_BIRTHDAY_CAN_T_BLANK : 'Birthday cannot be left blank',
    PERSONAL_COUNTRY_CAN_T_BLANK : 'Country cannot be left blank',
    PERSONAL_CITY_CAN_T_BLANK : 'City cannot be left blank',
.......
TEAM_EMAIL_NOT_VALID : 'E-mail is not a valid email address'
};

2.

<head>
....
<g:set var="locale" value="${session['language']}"/>
    <g:if test="${locale.equals("ee")}">
        <script src="${resource(dir: 'js',file:'/XX_Messages.ee.js')}"></script>
    </g:if>
....
</head>

注意:将XX_Messages.ee.js导入到要验证的html头中

3.

messages: {
            gender: {
                required: LANG.PERSONAL_BIRTHDAY_CAN_T_BLANK
            },
            firstName: {
                required:  LANG.PERSONAL_CITY_CAN_T_BLANK
            },
            lastName: {
                required: LANG.PERSONAL_COUNTRY_CAN_T_BLANK
            }
        }

注意:XX_Messages.ee.js文件必须导入到您的头部html 在你的验证js之前。

Here's a suggestion for a simple way to set your custom validation message:

1. Create a js file with XX_Messages.ee.js name with syntax:

 LANG = {

    PERSONAL_BIRTHDAY_CAN_T_BLANK : 'Birthday cannot be left blank',
    PERSONAL_COUNTRY_CAN_T_BLANK : 'Country cannot be left blank',
    PERSONAL_CITY_CAN_T_BLANK : 'City cannot be left blank',
.......
TEAM_EMAIL_NOT_VALID : 'E-mail is not a valid email address'
};

2.

<head>
....
<g:set var="locale" value="${session['language']}"/>
    <g:if test="${locale.equals("ee")}">
        <script src="${resource(dir: 'js',file:'/XX_Messages.ee.js')}"></script>
    </g:if>
....
</head>

Note: import your XX_Messages.ee.js in html head where you want validation

3.

messages: {
            gender: {
                required: LANG.PERSONAL_BIRTHDAY_CAN_T_BLANK
            },
            firstName: {
                required:  LANG.PERSONAL_CITY_CAN_T_BLANK
            },
            lastName: {
                required: LANG.PERSONAL_COUNTRY_CAN_T_BLANK
            }
        }

Note: XX_Messages.ee.js file must be import in head of your html before your validation js.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文