为什么我不能为JQuery Validation Plugin的验证消息指定意大利语?

时间:2015-09-23 15:32:14

标签: jquery jquery-validate

我在尝试添加国际化语言支持 JQuery Validation Plugin 时遇到了一些问题,这个:http://jqueryvalidation.org/

所以我做了以下操作。

我有这个脚本正确验证我的表单:

                // VALIDAZIONE FORM DI RICERCA:
                $("#ricercaForm").validate({

                    lang: 'it',

                    rules : {

                        codiceMeccanografico : {
                            require_from_group : [ 1, ".requiredGroup1" ]
                        },

                        codiceRegione : {
                            require_from_group : [ 1, ".requiredGroup1" ]
                        }

                    }
                });

如您所见,我已插入 lang:' it' 以指定使用意大利语。

然后我将 messages_it.js 放入我项目的这个目录中:** \ workspaceWIFI \ WIFIPNSD \ src \ main \ webapp \ resources \ js \ jquery \ localization **

messages_it.js 只包含意大利语错误消息的定义:

(function( factory ) {
    if ( typeof define === "function" && define.amd ) {
        define( ["jquery", "../jquery.validate"], factory );
    } else {
        factory( jQuery );
    }
}(function( $ ) {

/*
 * Translated default messages for the jQuery validation plugin.
 * Locale: IT (Italian; Italiano)
 */
$.extend($.validator.messages, {
    required: "Campo obbligatorio",
    remote: "Controlla questo campo",
    email: "Inserisci un indirizzo email valido",
    url: "Inserisci un indirizzo web valido",
    date: "Inserisci una data valida",
    dateISO: "Inserisci una data valida (ISO)",
    number: "Inserisci un numero valido",
    digits: "Inserisci solo numeri",
    creditcard: "Inserisci un numero di carta di credito valido",
    equalTo: "Il valore non corrisponde",
    extension: "Inserisci un valore con un'estensione valida",
    maxlength: $.validator.format("Non inserire più di {0} caratteri"),
    minlength: $.validator.format("Inserisci almeno {0} caratteri"),
    rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri"),
    range: $.validator.format("Inserisci un valore compreso tra {0} e {1}"),
    max: $.validator.format("Inserisci un valore minore o uguale a {0}"),
    min: $.validator.format("Inserisci un valore maggiore o uguale a {0}"),
    nifES: "Inserisci un NIF valido",
    nieES: "Inserisci un NIE valido",
    cifES: "Inserisci un CIF valido",
    currency: "Inserisci una valuta valida"
});

}));

最后我将此 messages_it.js 文件包含在我的页面中,因为当我在浏览器中打开页面时,我有与ssi javascript文件相关的正确链接。

问题是我仍然有英文错误信息。

为什么呢?我错过了什么?我该如何尝试解决这个问题?

1 个答案:

答案 0 :(得分:1)

此插件没有名为lang的选项......

$("#ricercaForm").validate({
    lang: 'it',  // <- no such option
    ....

有关所有可用选项,请参阅the documentation

包含插件后,只需包含此内容即可...

jQuery.extend(jQuery.validator.messages, {
    required: "Campo obbligatorio",
    remote: "Controlla questo campo",
    email: "Inserisci un indirizzo email valido",
    url: "Inserisci un indirizzo web valido",
    date: "Inserisci una data valida",
    dateISO: "Inserisci una data valida (ISO)",
    number: "Inserisci un numero valido",
    digits: "Inserisci solo numeri",
    creditcard: "Inserisci un numero di carta di credito valido",
    equalTo: "Il valore non corrisponde",
    extension: "Inserisci un valore con un&apos;estensione valida",
    maxlength: $.validator.format("Non inserire pi&ugrave; di {0} caratteri"),
    minlength: $.validator.format("Inserisci almeno {0} caratteri"),
    rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri"),
    range: $.validator.format("Inserisci un valore compreso tra {0} e {1}"),
    max: $.validator.format("Inserisci un valore minore o uguale a {0}"),
    min: $.validator.format("Inserisci un valore maggiore o uguale a {0}"),
    nifES: "Inserisci un NIF valido",
    nieES: "Inserisci un NIE valido",
    cifES: "Inserisci un CIF valido",
    currency: "Inserisci una valuta valida"
});

工作演示:http://jsfiddle.net/28zrmgmb/