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

Angular Discussion :

[Angular 4] Validation de formulaire


Sujet :

Angular

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 71
    Points
    71
    Par défaut [Angular 4] Validation de formulaire
    Bonjour,
    J'ai un problème de validation automatique d'un champ input sous Angular 5.
    Je modifie la classe de l'input via une fonction getClass() qui en fonction d'une validation retourne ng-valid ou ng-invalid.
    Problème, je pense que la validation automatique du formulaire se fait également et met ng-valid alors que je retourne ng-invalid lorsque mon url commence par un espace.
    Une idée comment résoudre ce problème?
    Peut on désactiver la validation automatique du formulaire?

    Voici mon code
    Template:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <input
    	type="text"
    	auto-focus
    	[ngClass]="getClass()"
    	[(ngModel)]="formObject.libelle"
    	name="libelle"
    	placeholder="URL"/>
    Code:
    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
    	getClass() {
    		if (this.validate()) {
    			return 'ng-valid ng-dirty ng-touched form-control';
    		} else {
    			return 'ng-invalid ng-dirty ng-touched form-control';
    		}
    	}
     
    	validate() {
    		if (!this.formObject || !this.formObject.libelle) {
    			this.errorMessage = '';
    			return false;
    		}
     
    		if ((new RegExp('^\\s')).test(this.formObject.libelle)) {
    			this.errorMessage = 'Espace non autorisé en début d\'URL';
    			return false;
    		}
     
    		if ((new RegExp('\\s$')).test(this.formObject.libelle)) {
    			this.errorMessage = 'Espace non autorisé en fin d\'URL';
    			return false;
    		}
     
    		this.errorMessage = '';
    		return true;
    	}

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    salut , ajoute novalidate à ton form , il désactive la validation automatique

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <form novalidate
          [formGroup]="myform">
     
      <fieldset formGroupName="name">
        <div class="form-group">
          <label>Last Name</label>
          <input type="text"
                 class="form-control"
                 formControlName="lastName">
        </div>
      </fieldset>
     
    </form>
    https://codecraft.tv/courses/angular.../model-driven/

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 71
    Points
    71
    Par défaut
    Le novalidate ne fonctionne pas :-(
    Je récupère encore un ng-valid de je ne sais où. Je pense d'une validation automatique...

  4. #4
    Expert éminent sénior
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 413
    Points : 19 609
    Points
    19 609
    Par défaut
    Ce n'est pas de cette manière qu'on ajoute des règles de validation de formulaire maisons. Il faut lire la doc !
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. validation du formulaire de la page ouvrante d'un popup
    Par noa dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2005, 12h11
  2. Réponses: 5
    Dernier message: 24/05/2005, 11h21
  3. Valider un formulaire contenu dans une iframe
    Par snoopy5.0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2005, 11h14
  4. Valider un formulaire par une image
    Par Fleep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/10/2004, 01h50
  5. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 09h12

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