带有字段名称的jQuery验证自定义消息

neu*_*ine -1 javascript jquery localization jquery-validate

我试图找到一种方法来选择两种语言之间的切换,因此我需要在messages_en.js文件中存储一些自定义消息。

是否可以将自定义消息存储在messages_en.js中,例如:

name: {
   required: 'Enter name',
   minlength: 'Name should consist of min. {0} characters',
   maxlength: 'Name is too long',
}
Run Code Online (Sandbox Code Playgroud)

要么

name: $.validator.format( "{0} should consist of min. {1} characters" ),
Run Code Online (Sandbox Code Playgroud)

{0}字段名称在哪里?

messages_en.js

$.extend( $.validator.messages, {
  required: "This field is required.",
  remote: "Please fix this field.",
  email: "Please enter a valid email address.",
  url: "Please enter a valid URL.",
  date: "Please enter a valid date.",
  dateISO: "Please enter a valid date (ISO).",
  number: "Please enter a valid number.",
  digits: "Please enter only digits.",
  equalTo: "Please enter the same value again.",
  maxlength: $.validator.format( "Please enter no more than {0} characters." ),
  minlength: $.validator.format( "Please enter at least {0} characters." ),
  rangelength: $.validator.format( "Please enter a value between {0} and {1} characters long." ),
  range: $.validator.format( "Please enter a value between {0} and {1}." ),
  max: $.validator.format( "Please enter a value less than or equal to {0}." ),
  min: $.validator.format( "Please enter a value greater than or equal to {0}." ),
  step: $.validator.format( "Please enter a multiple of {0}." )
} );
Run Code Online (Sandbox Code Playgroud)

Rah*_*pta 5

您可以将函数作为消息值传递,如下所示:

$.validator.messages.required = function (param, inputField) {
    return 'Please enter ' + inputField.name;
}
Run Code Online (Sandbox Code Playgroud)

这是演示:JSFiddle