Définir la forme comme invalide dans angularjs
J'ai besoin de ng-forme comme non valide dans le début, car c'est une partie plus tard d'un assistant. Le formulaire contient une grille avec des éléments. Chaque élément a sa propre validation, mais le problème est que lorsque il n'y a pas d'éléments de la forme montre comme valide. J'ai besoin de le marquer comme non valide pour le cas du démarrage lorsque le nombre de lignes est de 0. Comment peut-on le faire?
source d'informationauteur stride
Vous devez vous connecter pour publier un commentaire.
Après quelques recherches, le code suivant fonctionne très bien pour moi. Dans le contrôleur:
Le délai d'attente s'assure que nous avons accès à la forme. Ils ne sont pas construits sur la première passe par le biais de contrôleur de dépassement de délai ou de la montre est nécessaire.
Ensuite, nous marque le formulaire comme non valide. Une meilleure façon pourrait être la localisation d'une entrée qui nous pouvons marquer comme non valide en utilisant des api documentée
$setValidity
sur ngModelController, mais dans mon cas d'utilisation il n'y a pas d'entrée mais si nous le faisons dans un sale.Une mise en garde est que lorsque l'on se met directement comme au-dessus de la correspondante $valide === ! $valide invariant est cassé, donc soyez prudent avec ce hack.
Je pense que la suite est une solution de nettoyage.
J'aime la
$watch
mieux; d'Abord, je vais vérifier "si le formulaire a été créé", et ensuite seulement de définir la validité.Mais il semble qu'il n'est pas vraiment nécessaire, le formulaire est créé avant l' $montre est exécuté son temps initial (donc pas de changement est appelé pour la montre).
La
$setValidity
semble faire partie de la ngForm API (je l'ai trouvé dans le form.js code source), et il est utilisé par des contrôles de formulaire d'eux-mêmes les deux ensembles $valide et $invalide.