如何更改JQuery Validator语言消息

Lui*_*ado 20 jquery jquery-validate

我正在使用http://bassistance.de/jquery-plugins/jquery-plugin-validation/中的JQuery Validator .我怎样才能使消息是自定义的而不是英文的.

and*_*ost 32

如果您查看目录"本地化",您可以找到不同的.js文件,这些文件包含不同语言的错误消息.[类似"messages_XX.js"]

在包含jquery.validate.js之后,选择所需语言的文件,并将以下行添加到标记中

<script type="text/javascript" src="localization/messages_XX.js"></script>
Run Code Online (Sandbox Code Playgroud)


Dav*_*Sag 18

像这样做:

$(document).ready(function() {
  $("form#login").validate({
    lang: 'en'  // or whatever language option you have.
  });
});
Run Code Online (Sandbox Code Playgroud)

如果您要提供的语言不是默认语言之一,请执行以下操作:

$.tools.validator.localize("fi", {
    '*'          : 'Virheellinen arvo',
    ':email'     : 'Virheellinen s&auml;hk&ouml;postiosoite',
    ':number'    : 'Arvon on oltava numeerinen',
    ':url'       : 'Virheellinen URL',
    '[max]'      : 'Arvon on oltava pienempi, kuin $1',
    '[min]'      : 'Arvon on oltava suurempi, kuin $1',
    '[required]' : 'Kent&auml;n arvo on annettava'
});

  $("form#login").validate({
    lang: 'fi'
  });
Run Code Online (Sandbox Code Playgroud)

请参阅这些说明了解更多信

  • 这些说明适用于jQuery Tools Validator项目,而不是jQuery Validate,它被问到. (19认同)
  • 对于那些正在寻找jquery validate插件的人.这是答案http://stackoverflow.com/a/2457053/2265926 (3认同)
  • 链接不起作用你可以更新它:)和jquery验证器中没有lang选项!:( (2认同)

ast*_*anu 7

最好的方法是在需要时扩展插件

$.extend($.validator.messages, {
    required: "my required message",
    ....
});
Run Code Online (Sandbox Code Playgroud)


isa*_*ers 5

这将是你的初始验证脚本中的JSON结构,就像Alex有:

   rules: {
        accntTypeCL: {
            required: true,
        },
        accntNoCL: {
            required: true,
            minlength: 19,
            numberDash: true,
        }
    },                      
    messages : {
        accntTypeCL : {
            required : Messages.ERR_TEST,
        },
        accntNoCL : {
            required : Messages.ERR_TEST,
            numberDash : Messages.ERR_TEST,
            minlength : Messages.ERR_TEST2,
        },
    }

//This would be in your messages.js file... But you'll need to make sure you are using a Java backend or something that will pull the messages.js correctly
//For IBM worklight this worked great       

    Messages = {
// Add here your messages for the default language. 
// Generate a similar file with a language suffix containing the translated messages

ERR_TOPLEVEL : '<span role=\"presentation\">One or more of the required fields was left blank or is invalid.<\/span>',
//Test Messages for tracing
ERR_TEST: 'This be the test yar!',
ERR_TEST2: 'This be the test2 yar!'
};
Run Code Online (Sandbox Code Playgroud)

这样您就可以重复使用相同的函数,相同的附加方法和相同的错误类型,并根据应在浏览器中检测到的html语言或者您拥有它来使用正确的messages.js文件.这种特殊方法对我有用.


Vin*_*aux 5

如果您使用npm/yarn来管理您的资产,您可以像这样简单地导入本地化文件(当然替换 iso 代码,这里是法语)

import 'jquery-validation';
import 'jquery-validation/dist/localization/messages_fr';
Run Code Online (Sandbox Code Playgroud)

然后使用:

$form.validate({
    lang: 'fr',
});
Run Code Online (Sandbox Code Playgroud)