在流星網絡應用程序中,同時存在SimpleSchema和ValidatedMethod冗餘?當試圖重用先前定義的模式時,我得到一個語法錯誤。爲流星集合使用SimpleSchema和ValidatedMethod時避免冗餘?
這裏是我的意思是: mycollection.js
export const myCollection = new Mongo.Collection('myCollection');
export const mySchema = new SimpleSchema({
a_field:String;
});
myCollection.attachSchema(mySchema);
現在的插入方法: methods.js
import {mySchema, myCollection} from mycollection.js;
export const insertMethod = new ValidatedMethod({
name:'insertMethod',
validate:new SimpleSchema({
mySchema, /*Shows a syntax error: How to avoid repeating the schema?*/
}).validator(),
run(args){
myCollection.insert(args);
}
});
對於這個簡單的例子,這將是 「OK」 重寫a_field:String
到驗證方法的Schema。然而,對於更復雜的示例,這似乎相當多餘,如果我想使用一些先前定義的模式並添加一些新的字段進行驗證,而不必複製整個事情,那又如何呢?
簡單模式綁定到集合時負責在客戶端以及從服務器進行驗證。由於客戶端驗證一般不受信任,驗證再次發生在服務器端(視爲可信)。您可以查看[簡單模式驗證器](https://github.com/aldeed/meteor-simple-schema#validation-options)。 – blueren