Что означает {0} в JavaScript - PullRequest
1 голос
/ 14 июля 2010

В коде от этот ответ :

$.validator.addMethod('lessThanEqual', function(value, element, param) {
    return this.optional(element) || parseInt(value) <= parseInt($(param).val());
}, "The value {0} must be less than {1}");

Что означает {0} и {1}? Какое эмпирическое правило в Javascript для определения замены этих параметров?

Итак, основываясь на комментариях, я хочу еще спросить, чтобы передать {0} и {1} сюда.

Какой синтаксис я должен использовать для функции проверки lessThanEqual.

спасибо

Ответы [ 4 ]

7 голосов
/ 14 июля 2010

Не существует «специального» значения, это просто токены, которые плагин валидатора заменяет при отображении сообщения, численно ссылаясь на параметры правила.

В частности, это происходит в плагине:

message = jQuery.format(message.replace(theregex, '{$1}'), rule.parameters);

То есть {0} относится к первому параметру, {1} - второму и так далее.Вот эта функция форматирования , как в jQuery.validate 1.7 :

$.validator.format = function(source, params) {
  if ( arguments.length == 1 ) 
    return function() {
      var args = $.makeArray(arguments);
      args.unshift(source);
      return $.validator.format.apply( this, args );
    };
  if ( arguments.length > 2 && params.constructor != Array  ) {
    params = $.makeArray(arguments).slice(1);
  }
  if ( params.constructor != Array ) {
    params = [ params ];
  }
  $.each(params, function(i, n) {
    source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n);
  });
  return source;
};
1 голос
/ 14 июля 2010

Они не имеют особого значения, однако используются в качестве заполнителей формата, например:

function format(str/*, args*/) {
  var args = Array.prototype.slice.call(arguments, 1);
  return str.replace(/{(\d+)}/g, function (m, i) {
    return args[i];
  });
}

format("{0} {1}!!", "Hello", "world"); // "Hello world!!"
1 голос
/ 14 июля 2010

Они являются заполнителями. В коде, который использует валидатор, {0} и {1} заменяются фактическими значениями.

1 голос
/ 14 июля 2010

Я думаю, что это специфический шаблонный синтаксис плагина валидатора для привязки {0} к реальному значению и {1} к "желаемому" значению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...