Пользовательская ошибка с использованием простой схемы в Meteor

SimpleSchema.messages({
"minString": `[label] must be at least [min] ${this.min===1 ? 'character' : 'characters'}`    
});

Но this.min не работает, потому что это === окно. Как я могу получить доступ к значению min и в соответствии со значением установить правильное слово?

Объект из схемы:

 title: {
  type: String,
  min: 1,
  max: 40
},

Я хочу использовать это пользовательское сообщение с разными схемами с разными минимальными значениями, поэтому мне нужна динамическая настройка


person Maksim Romanyuk    schedule 11.07.2016    source источник
comment
Какую версию Метеора вы используете? Кажется, я не могу найти SimpleSchema.messages({}) в онлайн-документации по API.   -  person Nzall    schedule 11.07.2016


Ответы (1)


У меня нет большого опыта работы с Meteor, но вы можете написать функцию для генерации значения minString перед добавлением его в свойство:

var obj = {
      title: {
         type: String,
         min: 1,
         max: 40
      }
}

var generateMinString = function(title){
    var characterText = (title.min===1) ? 'character' : 'characters';
    return `[label] must be at least ` +title.min + " " + characterText;
}


SimpleSchema.messages({
   "minString": generateMinString(obj.title)
});

Конечно, вам нужно будет изменить способ доступа к объекту title в зависимости от настроек вашего содержащего объекта.

person LeDoc    schedule 11.07.2016