在Meteor中使用简单模式的自定义错误

时间:2016-07-11 14:21:23

标签: javascript meteor simple-schema

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

但是这个.min不起作用,因为这个===窗口。如何在min上访问该值,并根据值设置正确的单词?

架构中的对象:

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

我想将此自定义消息与具有不同最小值的不同模式一起使用,因此我需要动态设置

1 个答案:

答案 0 :(得分:0)

我对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对象的方式,具体取决于您所包含对象的设置。