Je suis incapable de clarifier en utilisant cette.stockform.Reset (); Donc, j'utilise cela pour effacer les données après avoir soumis:
clearall(): void { this.isEditMode = false; this.stockForm.reset({ sku: '', productName: '', counted: '', }); Object.keys(this.stockForm.controls).forEach(key => { this.stockForm.get(key).setErrors(null); }); }
3 Réponses :
Salut, vous venez de vous reposer votre forme comme celle-là:
clearall(): void { this.isEditMode = false; this.stockForm.reset(); Object.keys(this.stockForm.controls).forEach(key => { this.stockForm.get(key).setErrors(null); }); }
ci-dessus fonctionnant bien, mais à nouveau im clic sur le bouton de soumission doit afficher des validations mais qu'elle ne se produit pas?
Pourquoi êtes-vous SETERROR (NULL)?
Pouvez-vous essayer d'utiliser des validateurs.Required lors de la réinitialisation du formulaire? J'espère que cela aide! Acclamer! P> Vérifiez cet exemple => https://stackblitz.com/edit/angular-reactive-forms-lgguij p> p>
J'ai écrit la même chose ci-dessus mais en cliquant sur Soumettre les validations de bouton ne fonctionnant pas
Pouvez-vous s'il vous plaît mentionner le groupe de formulaires initial avant de réinitialiser le formulaire?
Après avoir réinitialisé le formulaire, vous exécutez des validations manuellement en appelant setErrors (NULL). SETERRORS (NULL) signifie que vous définissez la propriété de formulaire comme valide afin que vous n'obtiendrez aucun message de validation.
SETERRORS P>
Il fonctionnera une fois que vous avez supprimé le code ci-dessous P>
Object.keys(this.stockForm.controls).forEach(key => { this.stockForm.get(key).setErrors(null); });
Pourquoi ne pouvez-vous pas utiliser la fonction
réinitialiser () code> sur votre formulaire?
Vous devriez pouvoir utiliser cette fonction.stockform.Reset () disponible dans Typescript.
@ ng-suhas lors de l'utilisation d'une erreur touchée sur les champs de formulaire
Avez-vous Stackblitz pour cela?