function create($aData) { if (!isset($aData['FLD_UID'])) { $aData['FLD_UID'] = G::generateUniqueID(); } else { if ($aData['FLD_UID'] == '') { $aData['FLD_UID'] = G::generateUniqueID(); } } $oConnection = Propel::getConnection(FieldsPeer::DATABASE_NAME); try { $oFields = new Fields(); $oFields->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oFields->validate()) { $oConnection->begin(); $iResult = $oFields->save(); $oConnection->commit(); return $aData['FLD_UID']; } else { $sMessage = ''; $aValidationFailures = $oFields->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be created!<br />' . $sMessage); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }
public function testValidDefault() { $field = new Fields(); $field->fieldName = 'testName'; $field->type = 'email'; $field->defaultValue = 'not an email address'; $field->validate(array('defaultValue')); $this->assertTrue($field->hasErrors('defaultValue')); // Now test (this is more a feature of AmorphousModel than of Fields) // that the "required" validator is disabled $field->clearErrors(); $field->defaultValue = ''; $field->required = 1; $field->validate(array('defaultValue')); $this->assertFalse($field->hasErrors('defaultValue')); }