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

Symfony PHP Discussion :

Ajout d'un mergePostValidator sur des forms imbriqué pour eviter les enregistrements vides


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut Ajout d'un mergePostValidator sur des forms imbriqué pour eviter les enregistrements vides
    Bonjour, j'ai deux forms imbriqués de type inputfile, je crée des forms pour l'enregistrement de nouveaux fichier via embedForm.
    Dans le configure de monEmbed1Form.class.php j'ajoute le mergePostValidator ainsi que dans le deuxième.

    Ensuite j'ai créé dans frontend/lib/validator monEmbed1ValidatorSchema.class.php et monEmbed2ValidatorSchema.class.php

    à l'intérieur je suis le tuto de symfony en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          if (!$value['nomenclatures'] || empty($value['nomenclatures'])) {
                unset($values[$key]);
          }
    nomenclatures est le nom de mon validatorFile et mon inputFile

    mais j'ai toujours l'erreur suivante en essayant d'enregistrer un form d'edition en ignorant mes embedForms
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'nomenclatures' cannot be null
    merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    bonjour,
    personne n'a jamais fait ce tuto en utilisant des mergePostValidator ?
    car je n'ai toujours pas résolu mon probléme

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je sais qui va le faire.... regarde dans ton miroir.

    Aucune idée j'ai pas trop joué avec cette partie du framework, mais je suis tombé sur le plugin : sfWidgetFormInputSWFUploadPlugin

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    j'essaie j'essaie, mais bon,
    j'ai essayé de surchargé saveEmbeddedForms

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public function saveEmbeddedForms($con = null, $forms = null)
    {
      if (null === $forms)
      {
        $liens = $this->getValue('nomenclature');
        $forms = $this->embeddedForms;
        foreach ($this->embeddedForms['nomenclature'] as $key => $form)
        {
          if (!isset($liens[$key]))
          {
            unset($forms['nomenclature'][$key]);
          }
        }
      }
     
      return parent::saveEmbeddedForms($con, $forms);
    }
    mais ça ne marche toujours pas

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    Salut,

    Est-ce que tu pourrais poster le code des classes dont tu parles pour regarder de plus prêt ?

    Relis bien le tutoriel dont tu parles, normalement il fonctionne, du moins pour moi il a marché.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Par défaut
    voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    class BillsofmaterialValidatorSchema extends sfValidatorSchema
    {
      protected function configure($options = array(), $messages = array())
      {
        $this->addMessage('nomenclature', 'The Bom is required.');
      }
     
      protected function doClean($values)
      {
        $errorSchema = new sfValidatorErrorSchema($this);
     
        foreach($values as $key => $value)
        {
          $errorSchemaLocal = new sfValidatorErrorSchema($this);
     
          if (!$value['nomenclature'] || empty($value['nomenclature'])) {
                unset($values[$key]);
          }
     
          // some error for this embedded-form
          if (count($errorSchemaLocal))
          {
            $errorSchema->addError($errorSchemaLocal, (string) $key);
          }
        }
     
        // throws the error for the main form
        if (count($errorSchema))
        {
          throw new sfValidatorErrorSchema($this, $errorSchema);
        }
     
        return $values;
      }
    }

Discussions similaires

  1. Réponses: 23
    Dernier message: 04/05/2015, 16h48
  2. Ajout dynamique de label sur un form
    Par katoyi dans le forum VB.NET
    Réponses: 3
    Dernier message: 29/05/2008, 14h58
  3. ajouter l icone reduire sur le forms
    Par tomy7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/03/2008, 16h10
  4. ajout d'un pagecontrol sur une form existante
    Par Mihalis dans le forum Delphi
    Réponses: 5
    Dernier message: 06/06/2007, 09h43
  5. [MySQL] Php / Html Mettres des Variables PHP en Values sur des form
    Par Jimmy_S dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/03/2006, 11h18

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