Zend Framework

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-01-2010 10:22:25

elec
Membre
Date d'inscription: 16-10-2009
Messages: 118

Problème avec zend_form et doctrine

Bonjour,

Bon je créé mon formulaire en utilisant pour la première fois "doctrine"  et tout marche bien sauf une seule chose,quand je vérifie dans mon formulaire si l'email n'est pas répété dans la base de donnée lors de l'inscription en utilisant un validateur de cette façon :

Form.php

Code:

$primaryValidator = new Zend_Validate_Db_NoRecordExists('users', 'mail');
$primaryValidator->setMessage($translator->_("L'adresse email a déjà été utilisée"), Zend_Validate_Db_Abstract::ERROR_RECORD_FOUND);

$mail = new Zend_Form_Element_Text('mail');
$mail->setLabel($translator->_('mail'))
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim')
->addValidator($emailValidator)
->addValidator($primaryValidator)
->addValidator($emptyValidator);

il m'affiche l'erreur suivant :

Code:

An error occurred
Application error
Exception information:

Message: No database adapter present
Stack trace:

#0 C:\wamp\www\zc1\library\Zend\Validate\Db\NoRecordExists.php(44): Zend_Validate_Db_Abstract->_query('s@g.com')
#1 C:\wamp\www\zc1\library\Zend\Form\Element.php(1333): Zend_Validate_Db_NoRecordExists->isValid('s@g.com', Array)
#2 C:\wamp\www\zc1\library\Zend\Form.php(2009): Zend_Form_Element->isValid('s@g.com', Array)
#3 C:\wamp\www\zc1\application\controllers\VisitorsController.php(22): Zend_Form->isValid(Array)
#4 C:\wamp\www\zc1\library\Zend\Controller\Action.php(513): VisitorsController->inscriptionAction()
#5 C:\wamp\www\zc1\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('inscriptionActi...')
#6 C:\wamp\www\zc1\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#7 C:\wamp\www\zc1\library\Zend\Application\Bootstrap\Bootstrap.php(77): Zend_Controller_Front->dispatch()
#8 C:\wamp\www\zc1\library\Zend\Application.php(358): Zend_Application_Bootstrap_Bootstrap->run()
#9 C:\wamp\www\zc1\public\index.php(27): Zend_Application->run()
#10 {main}  

Request Parameters:

array (
  'language' => 'fr',
  'controller' => 'visitors',
  'action' => 'inscription',
  'firstname' => 'jean',
  'lastname' => 'jane',
  'username' => 'jane',
  'password' => '123456',
  'password_confirm' => '123456',
  'mail' => 's@g.com',
  'lng' => 'fr',
  'sexe' => 'female',
  'country' => 'FR',
  'recaptcha_challenge_field' => '02tmrApMAAVCXMPslkM3L4VL6uIjofgjRDlPl5wz6OduFuHMTzvD7Nfig9flm5vsLelk0fMJCYMVQ3t2L41oyA9bWIpaCi1d4kg3HWqJ5lmN5Yiq1a7Y5s40bTavkeKuRwPxx6I5ZXcr7Em5_Mu7MDxYACTF6MXE3PwSqW75Y8Ktr5aDQKKOzEbk-kNCM4bA5EkewC_Zh7aL9bDwuYR41LV53XCGbaCIgtdoxt_cRoYT29uI_HZwc7GVvryu1T3hWJ5klFgtpsLu91M9NF6k8zTWtHv7MB',
  'recaptcha_response_field' => 'function blunders',
  'Créer' => 'Créer',
)

Je ne sais pas ou est le problème,je pense qu'il ne trouve pas la base de donnée alors que tout marche bien et je déclare correctement mes tableaux et mes champs parce que quand j'enlève la ligne "->addValidator($primaryValidator)" tout marche bien...

Merci.Nll

Dernière modification par elec (19-01-2010 10:22:47)

Hors ligne

 

#2 20-01-2010 10:51:38

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Problème avec zend_form et doctrine

L'erreur est pourtant simple à comprendre "Message: No database adapter present", il n'y a pas d'adapter par default Zend, vu que tu utilises doctrine et non Zend_Db, et que Zend_Validate_Db_NoRecordExists utilise une base de données...
Il faut soit coder ton adapter Zend_Db_Adapter_Doctrine (une piste là http://framework.zend.com/wiki/display/ … ation+Todo) soit coder ton propre validateur Zend_Validate_Db_NoRecordExistsWithDoctrine.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages