IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend_Form PHP Discussion :

Validateur non fonctionnel Db_NoRecordExists


Sujet :

Zend_Form PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut Validateur non fonctionnel Db_NoRecordExists
    Bonjour,

    Je tente en vain de créer un formulaire mais j'ai le validateur Db_NoRecordExists qui me renvoie toujours une fatal error :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $login 	= $this->createElement('text', 'login');
    		$login	->setLabel('Nom de compte :')
    				->addValidator('alnum')
            		->addValidator('regex', false, array('#^[a-z0-9]+$#i'))
             		->addValidator('stringLength', false, array(6, 20))
             		->addValidator('Db_NoRecordExists', 'account', 'username')
             		->setRequired(true)
             		->addFilter('StringTrim')
             		->addFilter('StringToLower');
    Je tente de vérifier que la valeur dans ce champ (login) n'existe pas déjà dans la table 'account' dans la column 'username'

    Je précise que je n'ai pas de Db_adapter passé en paramètre et de manière général définit dans mon script (j'utilise une solution maison)

    L'erreur retournée est :

    Fatal error: Cannot unset string offsets in /Applications/MAMP/htdocs/AdH/framework/Zend/Form/Element.php on line 2065
    Les lignes de code correspondantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($validator['options']['messages'])) {
                    $messages = $validator['options']['messages'];
                    unset($validator['options']['messages']);
                }
    J'ai copié l'exemple sur la doc, d'ou peut venir le problème svp ?
    Merci beaucoup d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 98
    Par défaut
    Marche très bien chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $loginDoesntExist = new Zend_Validate_Db_NoRecordExists('table', 'champ');

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 184
    Par défaut
    Oui, mais je souhaiterais utilisé une syntaxe proche de celle que j'ai montré

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Novembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Novembre 2009
    Messages : 5
    Par défaut
    la syntaxe la plus proche de celle que t'a écris est la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ->addValidator('Db_NoRecordExists',false,array('account', 'username'))

Discussions similaires

  1. Flash Disque non fonctionnel
    Par stanley dans le forum Composants
    Réponses: 2
    Dernier message: 18/07/2006, 12h18
  2. Code non fonctionnel sous IE
    Par Nip dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/06/2006, 14h59
  3. timage non fonctionnel !!
    Par micky13 dans le forum Delphi
    Réponses: 5
    Dernier message: 13/05/2006, 07h21
  4. Update non fonctionnel
    Par kissmytoe dans le forum Access
    Réponses: 7
    Dernier message: 07/03/2006, 18h37
  5. [REPORTS] Order BY non fonctionnel
    Par sdiack dans le forum Reports
    Réponses: 2
    Dernier message: 10/02/2006, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo