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:
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 : 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; }
Partager