public function validate($relationshipName = NULL)
 {
     if (!empty($relationshipName)) {
         throw new PolymorphicException('Relationship path "' . $relationshipName . '" has no meaning for polymorphic collections');
     }
     return parent::validate();
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
<?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