Comment ajouter des attributs de validation dans une directive angularjs
Je suis en train d'écrire un angulaire de la directive qui ajoute de la validation des attributs de la balise, mais il ne semble pas fonctionner. Voici ma version de démonstration. Vous remarquerez que "Valide" reste vrai si vous supprimez le texte dans la deuxième zone de saisie, mais passe à false si vous supprimez le texte dans la première zone de saisie.
http://plnkr.co/edit/Rr81dGOd2Zvio1cLYW8D?p=preview
Voici mon directive:
angular.module('demo', [])
.directive('metaValidate', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.attr("required", true);
}
};
});
Je devine que je suis en manque juste quelque chose de simple.
source d'informationauteur Leslie Hanks
Vous devez vous connecter pour publier un commentaire.
Toutes les règles de validation de la forme de la lecture dans la phase de compilation de la forme, alors, après avoir fait des changements dans un nœud enfant, vous devez recompiler
form
directive (form
, il est une coutume de la directive dans AngularJS). Mais faire qu'une seule fois, éviter les boucles infinies (votre directive, 'link' fonction sera appelée de nouveau après la forme de la compilation).De travail plunker: http://plnkr.co/edit/AB6extu46W4gFIHk0hIl?p=preview
Attention les boucles infinies et recompile, une meilleure solution est ici: Ajouter les directives de la directive en AngularJS
De travail plunker est disponible à: http://plnkr.co/edit/Q13bUt?p=preview
Je sais que c'est un assez vieux, mais pour ce que ça vaut, l'angle de docs décrire
ng-required
qui prend une valeur booléenne. Cela a résolu un problème similaire que j'avais.http://docs.angularjs.org/api/ng/directive/input