2016-07-28 14 views
0

Ich verwende einfaches Schema, um meine Datenbankeinträge in einer Meteor-Anwendung zu validieren. Ich fing an, ein Modul zu entwickeln, um Formulare automatisch zu erstellen (ich weiß, Autoform ist ziemlich gut, aber es war nicht genau das, was ich brauchte). Um die Funkkomponente zu erstellen, muss ich die zulässigen Werte für dieses Feld kennen, und da es bereits im Schema angegeben wurde, wollte ich wissen, ob es möglich ist, es abzurufen. Irgendwelche Ideen?Ist es möglich, die erlaubten Werte eines SimpleSchema-Schemas im Client mithilfe von Meteoren aufzulisten?

Antwort

1

Betrachten wir ein sehr einfaches Schema:

s=new SimpleSchema({ 
    list: { 
    type: String, 
    allowedValues: ["foo","bar"] 
    } 
}); 

Wenn Sie das erstellte Objekt erkunden Sie das finden:

s._schema['list'].allowedValues 

kehrt

["foo", "bar"] 

One das allgemeine Muster ableiten kann ist:

schemaObject._schema['keyName'].allowedValues 
+0

Ich habe es versucht, aber es hat nicht funktioniert. Ich habe etwas Ähnliches versucht, aber offensichtlich, wenn ein Schema erstellt wird, werden die Daten normalisiert und nicht alle Eigenschaften werden verfügbar. Das sagen sie in der Dokumentation: "Rufen Sie MySchema.schema ([key]) auf, um das Schemadefinitionsobjekt abzurufen. Wenn Sie einen Schlüssel angeben, wird nur die Schemadefinition für diesen Schlüssel zurückgegeben. Beachten Sie, dass dies entspricht möglicherweise nicht genau dem, was Sie an den SimpleSchema-Konstruktor übergeben haben. Das Schemadefinitionsobjekt wird intern normalisiert, und diese Methode gibt die normalisierte Kopie zurück. " –

+0

Können Sie dann den Code für Ihre Schemadefinition anzeigen? –

+0

Es tut mir leid, Ihre Antwort ist vollständig korrekt. Es war meine Schuld, wegen eines Tippfehlers gab es nicht das richtige Zeug. Danke für die Hilfe. –

Verwandte Themen