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 :

FormType erreur d'interprétation oninvalid


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut FormType erreur d'interprétation oninvalid
    Bonjour,

    dans un formtype j'ai défini le champ "Nom" comme élément obligatoire et si l'utiisateur ne saisit rien une petite bulle apparaît sur le champ. Dans mon formType j'ai écris ceci:

    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
     
    class NewFormType extends AbstractType {
    ...
        public function buildForm(FormBuilder $builder, array $options) {
     
    ....
            $builder
                    ->add('nom', 'text', array('required' => true, 'label' => 'Nom',
                        'attr' => array(
                            'oninvalid' => 'if(this.value.length==0)this.setCustomValidity(\'Le nom ne peut pas être vide\');else {this.setCustomValidity(\'\'); return false;}',
                        )
                    ))
    ....
    	;
    	}
    }
    et dans le controller dans les méthodes newaction ou editcaiton, j'ai écris ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    $form = $this->createForm(new NewFormType(), $entity);
    ...
    Avec createAction() cela fonctionne normalement, alors que dans editaction, rien ne se passe ???. J'ai remarqué aussi que suivant le navigateur l'élément required = true est interprété (Firefox) ou non (IE). Dans mon cas, j'utilise Firefox 16.0.2!

    Ma question est de savoir s'il s'agit d'un bug général lié au navigateur Web (Firefox) ou s'il y a une astuce dans le FormType ou autre afin que l'évément "oninvalid" soit correctement interprété!

    D'avance merci pour votre aide!

    Cédric

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    J'ai remarqué aussi que suivant le navigateur l'élément required = true est interprété (Firefox) ou non (IE).
    Il s'agit de la validation html5, non supporté par tout les navigateurs:
    http://caniuse.com/#feat=form-validation

    N'oublie pas la validation coté serveur avec Symfony, c'est plus important.
    http://symfony.com/fr/doc/current/book/validation.html

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Points : 346
    Points
    346
    Par défaut
    Hello amooo999,

    oui les containtes au niveau du serveur (Entity avec Assert) sont déjà mises! La question était savoir pourquoi le comportement n'est le même en mode création et en mode édition avec le formType?

    D'avance merci pour votre aide

    Cédric

Discussions similaires

  1. Erreur affichage (interprétation?)
    Par mathieu77186 dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2011, 07h59
  2. Réponses: 0
    Dernier message: 20/11/2009, 14h44
  3. Réponses: 12
    Dernier message: 21/06/2006, 09h31
  4. Message d'erreur, comment l'interpréter?
    Par TocTocKiéLà? dans le forum MFC
    Réponses: 3
    Dernier message: 10/12/2005, 18h12
  5. Réponses: 2
    Dernier message: 04/03/2005, 12h02

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