uniquement lorsque vous utilisez la validation immédiate, par exemple lors de la saisie. Ne faites pas cela ... seulement avec une bonne réflexion ou avec une validation asynchrone, qui repose sur un backend par exemple.
Sam Vloeberghs
Réponses:
243
Comme le montre cet exemple angulaire , il existe un moyen de désactiver un bouton jusqu'à ce que tout le formulaire soit valide:
comment obtenir la valeur de la radio et de la case à cocher en utilisant formBuilder?
Pardeep Jain
Le lien référencé a une ancienne syntaxe pour angular2 par exemple ng-form-modal. demandez-lui de mettre à jour merci.
Pardeep Jain le
Vérifiez cet exemple, la syntaxe est à jour -> blog.jhades.org
Angular University
1
comment valider un formulaire si vous désactivez le bouton d'envoi (sauf si vous le faites sur le flux mais je n'aime pas toujours ça)? S'il vous plaît être conscient des problèmes UX ici ..
Sam Vloeberghs
6
[disabled] = "ngForm.invalid" vous pouvez également vérifier
Bien que ce code puisse répondre à la question, fournir un contexte supplémentaire sur la manière et / ou la raison pour laquelle il résout le problème améliorerait la valeur à long terme de la réponse.
Nic3500
5
Voici un exemple de travail (vous devrez me faire confiance qu'il y a une méthode submit () sur le contrôleur - il imprime un objet, comme {user: 'abc'} si 'abc' est entré dans le champ de saisie):
n'utilisez pas loginForm.form, utilisez simplement loginForm
loginForm.invalid fonctionne aussi bien que! loginForm.valid
si vous voulez que submit () reçoive la (les) valeur (s) correcte (s), l'élément d'entrée doit avoir les attributs name et ngModel
De plus, c'est lorsque vous n'utilisez PAS le nouveau FormBuilder, ce que je recommande. Les choses sont très différentes lors de l'utilisation de FormBuilder.
Réponses:
Comme le montre cet exemple angulaire , il existe un moyen de désactiver un bouton jusqu'à ce que tout le formulaire soit valide:
la source
ng-form-modal
. demandez-lui de mettre à jour merci.dans Angular 2.xx , 4 , 5 ...
la source
.html
.ts
la source
Voici un exemple de travail (vous devrez me faire confiance qu'il y a une méthode submit () sur le contrôleur - il imprime un objet, comme {user: 'abc'} si 'abc' est entré dans le champ de saisie):
Comme vous pouvez le voir:
De plus, c'est lorsque vous n'utilisez PAS le nouveau FormBuilder, ce que je recommande. Les choses sont très différentes lors de l'utilisation de FormBuilder.
la source
La validation de formulaire est très simple dans Angular 2
Voici un exemple,
Vérifiez ce plunker pour une démo
Plus d'informations
la source
Il est important que vous incluiez le mot-clé « obligatoire » dans chacune de vos balises d'entrée obligatoires pour que cela fonctionne.
la source
Peut-être que le code peut vous aider:
la source
Cela a fonctionné pour moi.
.ts
.html
la source