2013-07-29 2 views
3

Je travaille sur un nouveau projet, qui comprend plusieurs formulaires standard (Connexion, inscription, etc.).framework Django REST + erreurs angulaires, annexant autmatically soutenu au DOM

J'ai une validation côté client de base avec, type, etc

ng-requis Le problème est que je pourrais obtenir d'autres types d'erreurs du back-end Django REST, comme la longueur, contrainte unique et d'autres , et ces règles peuvent changer assez fréquemment.

Le serveur REST django renvoie les erreurs dans une chaîne JSON, dans shich la clé est le champ, et la valeur est la description de l'erreur. Y a-t-il un moyen d'écrire quelque chose en angulaire qui ajoutera automatiquement une erreur à côté de l'élément invalide, comme une unité modulaire, qui peut être réutilisée, donc je n'aurai pas à ajouter un conteneur d'erreur et ng-bind pour par chaque champ dans ma forme ?.

Merci pour toute aide.

Répondre

1

Lorsque vous voulez écrire du code réutilisable comme celui-ci, votre meilleur choix est d'utiliser les directives. Vous pouvez créer une directive du nom <email> </email > puis à l'intérieur du modèle, le remplir avec l'élément d'entrée et afficher la {{erreur}} à côté de lui. Il y a plusieurs façons d'obtenir l'erreur dans le modèle de la directive, mais je suggère d'isoler la portée et de transmettre les données dans la directive. Cela permet de rendre les directives plus réutilisables.

Si vous avez fait les choses correctement, alors votre back-end « Django REST » ne devrait pas avoir rien à voir avec cette fonctionnalité frontale de la directive. Tout ce que vous devez faire est de changer les données dans le contrôleur et il va automatiquement changer les données dans la directive. Cela donne aussi un bon niveau d'abstraction.

+0

La vérité est que je suis tout à fait confondu avec AngularJS, j'utilisé beaucoup de jQuery sur les projets antérieurs. Je passe maintenant mon temps dans la référence qui est aussi déroutante, et quelques vidéos sur Youtube. Une bonne ressource ou un livre en ligne? –

+0

Découvrez la chaîne YouTube _angularjs_, il a une excellente vidéo sur les directives d'écriture. Consultez également [Site Web Egghead] (http://egghead.io) –

Questions connexes