/**
  * Validates entry param data structure
  *
  * @throws InvalidEntryParamStructure
  */
 public function validate()
 {
     $requiredFields = array_values($this->entryInfo->getSchema());
     foreach ($requiredFields as $required) {
         if (!array_key_exists($required, $this->entryInfo->getData())) {
             $this->errors[] = "{$required} is required.";
         }
     }
     return empty($this->errors);
 }
示例#2
0
 /**
  * Add additional entry info (location, creator).
  *
  * @param EntryInfo $info
  * @return Entry
  * @throws InvalidEntryParamStructure
  */
 public function addInfo(EntryInfo $info)
 {
     $validator = new EntryInfoValidator($info);
     if (!$validator->validate()) {
         $message = implode(', ', $validator->getErrors());
         throw new InvalidEntryParamStructure($message);
     }
     $info->save($this->data);
     return $this;
 }