2016-05-17 18 views
0

Vielleicht nähere ich mich diesem Fehler, ABER, in der Arbeit mit einem Front-End-Entwickler, der neue Datensatzdaten für ein Dokument in meiner Mongodb-Sammlung einreichen möchte, möchte ich ein "Modell "für welche die gesendeten JSON-Daten validiert werden müssen. Zum Beispiel weiß ich, dass die Daten einen "Namen" enthalten müssen, und ich weiß, dass sie ein Array "galleryphotos" enthalten muss, das einzelne Datensätze enthält. Und ich weiß, dass ich eine "Beschreibung" einfügen muss. Es gibt andere Felder, die sie zur Verfügung stellen könnten, aber ich möchte nicht, dass sie zur Verfügung gestellt werden, ABER ich möchte sicherstellen, dass sie nicht eine Menge von Feldern einreichen, die sie nicht einreichen sollten, IE fügt hinzu: dumfieldname : "hahaha" oder was auch immer.php mongodb datenmodell validation

Unterstützt mongodb ein solches Modell? Wie haben die Leute das mit PHP gemacht?

Antwort

0

[PHP] Sie könnten ein Objekt/Klasse mit Eigenschaften erstellen und eine Methode verwenden, um gebuchte Daten zu validieren:

ModelNameValidation 
{ 
    public $name, $galleryPhotos, $description; 

    public function verify($postedData) 
    { 
     // add verification logic heret 
     // at error return false, else return true 
     // e.g. 
     foreach ($postedData as $key => $val) { 
      if (!property_exists($this, $key)) return false; 

    } 
} 

prüfen http://php.net/manual/en/function.property-exists.php für weitere Informationen über die property_exists Funktion.

Update: Denken Sie daran, mit Escaping, Validierung zu überprüfen Eingabe und Sie könnten hier Verschlüsselung verwenden, um den Schlüsselnamen für enge Sicherheit zu verschleiern.

+0

das ist eine elegante Option ... lassen Sie mich sehen, ob dies in Aktion funktioniert :) –