In einer Meteor Web App, ist sowohl ein SimpleSchema als auch eine ValidatedMethod redundant? Beim Versuch, das zuvor definierte Schema wiederzuverwenden, erhalte ich einen Syntaxfehler. HierVermeidung von Redundanz bei Verwendung von SimpleSchema und ValidatedMethod für eine Meteor-Sammlung?
ist, was ich meine: mycollection.js
export const myCollection = new Mongo.Collection('myCollection');
export const mySchema = new SimpleSchema({
a_field:String;
});
myCollection.attachSchema(mySchema);
Jetzt für die Insert-Methode: 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);
}
});
Für dieses einfache Beispiel wäre es "ok" sein a_field:String
auf die neu zu schreiben Schema der validierten Methode. Für kompliziertere Beispiele scheint dies jedoch ziemlich redundant zu sein, und was ist, wenn ich ein Teil des zuvor definierten Schemas verwenden und einige neue Felder zur Validierung hinzufügen möchte, ohne das Ganze kopieren zu müssen?
einfaches Schema, wenn eine Sammlung gebunden kümmert sich um Validierungen auf dem Client sowohl als auch vom Server. Da clientseitige Validierungen in der Regel nicht vertrauenswürdig sind, finden die Validierungen wieder auf der Serverseite statt (was als vertrauenswürdig angesehen wird). Sie können stattdessen [einfache Schema-Validatoren] (https://github.com/aldeed/meteor-simple-schema#validation-options) betrachten. – blueren