[ Index ] |
|
Code source de Symfony 1.0.0 |
1 <?php 2 /* 3 * $Id: UniqueValidator.php 64 2005-05-13 02:43:56Z root $ 4 * 5 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 6 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 7 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 8 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 9 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 10 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 11 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 12 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 13 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 14 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 15 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 16 * 17 * This software consists of voluntary contributions made by many individuals 18 * and is licensed under the LGPL. For more information please see 19 * <http://propel.phpdb.org>. 20 */ 21 22 require_once 'propel/validator/BasicValidator.php'; 23 24 /** 25 * A validator for unique column names. 26 * 27 * <code> 28 * <column name="username" type="VARCHAR" size="25" required="true" /> 29 * 30 * <validator column="username"> 31 * <rule name="unique" message="Username already exists !" /> 32 * </validator> 33 * </code> 34 * 35 * @author Michael Aichler <aichler@mediacluster.de> 36 * @version $Revision: 64 $ 37 * @package propel.validator 38 */ 39 class UniqueValidator implements BasicValidator 40 { 41 42 /** 43 * @see BasicValidator::isValid() 44 */ 45 public function isValid (ValidatorMap $map, $str) 46 { 47 $column = $map->getColumn(); 48 49 $c = new Criteria(); 50 $c->add($column->getFullyQualifiedName(), $str, Criteria::EQUAL); 51 52 $isValid = false; 53 54 try { 55 56 $table = $column->getTable()->getPhpName(); 57 $cmd = sprintf('$isValid = %sPeer::doCount($c) == 0;', $table); 58 eval($cmd); 59 60 } catch(PropelException $e) { 61 /* what to do here ? */ 62 } 63 64 return $isValid; 65 } 66 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 16 22:42:14 2007 | par Balluche grâce à PHPXref 0.7 |