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

但是this.min不起作用,因爲這個===窗口。我怎樣才能訪問最小值,並根據價值,設置正確的單詞?從架構在流星中使用簡單模式的自定義錯誤

對象:

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

我想使用不同的最小值不同的模式,這種自定義消息,所以我需要動態設置

+0

你使用什麼版本的流星?我似乎無法在聯機API文檔中找到SimpleSchema.messages({})。 – Nzall

回答

0

我沒有與流星很多經驗,但你可以寫一個函數將它添加到屬性之前生成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對象取決於包含對象的設置。