/** * @see BasicValidator::isValid() * * @param ValidatorMap $map * @param string $str * * @return boolean */ public function isValid(ValidatorMap $map, $str) { $column = $map->getColumn(); $c = new Criteria(); $c->add($column->getFullyQualifiedName(), $str, Criteria::EQUAL); $table = $column->getTable()->getClassName(); $clazz = $table . 'Peer'; $count = call_user_func(array($clazz, 'doCount'), $c); $isValid = $count === 0; return $isValid; }
/** * @see BasicValidator::isValid() */ public function isValid(ValidatorMap $map, $str) { $column = $map->getColumn(); $c = new Criteria(); $c->add($column->getFullyQualifiedName(), $str, Criteria::EQUAL); $isValid = false; try { $table = $column->getTable()->getPhpName(); $cmd = sprintf('$isValid = %sPeer::doCount($c) == 0;', $table); eval($cmd); } catch (PropelException $e) { /* what to do here ? */ } return $isValid; }