public function validate($relationshipName = NULL) { if (!empty($relationshipName)) { throw new PolymorphicException('Relationship path "' . $relationshipName . '" has no meaning for polymorphic collections'); } return parent::validate(); }
/** * This function performs the validation work for complex object models. * * In addition to checking the current object, all related objects will * also be validated. If all pass then <code>true</code> is returned; otherwise * an aggreagated array of ValidationFailed objects will be returned. * * @param array $columns Array of column names to validate. * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise. */ protected function doValidate($columns = null) { if (!$this->alreadyInValidation) { $this->alreadyInValidation = true; $retval = null; $failureMap = array(); // We call the validate method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aCollection !== null) { if (!$this->aCollection->validate($columns)) { $failureMap = array_merge($failureMap, $this->aCollection->getValidationFailures()); } } if ($this->aFile !== null) { if (!$this->aFile->validate($columns)) { $failureMap = array_merge($failureMap, $this->aFile->getValidationFailures()); } } if (($retval = CollectionFilePeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } $this->alreadyInValidation = false; } return !empty($failureMap) ? $failureMap : true; }
<?php require 'class-collection.php'; require 'form_tools.php'; $collection = new Collection('data.txt'); $errors = array(); $valid = ""; $file_error = ""; if (isset($_POST['title'])) { // make sure all data exists $valid = $collection->validate($_POST, $errors); if ($valid) { $book = $collection->format_data($_POST); $book = $collection->write_to_file($book); if ($book) { header("location:home.php?new=1"); } else { $file_error = "File could not be opened."; } } } ?> <!DOCtype html> <html lang="EN"> <head> <title>New Book</title> <link rel="stylesheet" type="text/css" href="style.css" media="all" /> </head> <body> <h1>New Book</h1> <?php