Je travaille sur une simple démonstration de concept CRUD avec Rails/Backbone/JST templating. J'ai pu trouver beaucoup d'exemples jusqu'à présent. Mais après de nombreuses recherches et lectures, je n'ai pas encore trouvé de bon exemple sur la façon de gérer ces scénarios :
- message d'information : nouvel élément ajouté avec succès à la liste (affiché sur l'écran de la liste)
- message d'information : l'élément a été supprimé de la liste avec succès
- message d'erreur : problème avec l'entrée du/des champ(s)
- message d'erreur au niveau du champ : problème avec l'entrée
Les objets Backbone sont les suivants Collection (de modèles "post") -> Modèle (objet "post") -> Vues Liste/Edition/Nouveau (et un modèle JST pour chacune de ces vues)
Je cherche donc une description de haut niveau de la manière dont je devrais organiser mon code et mes modèles pour atteindre le niveau de messagerie souhaité. Je sais déjà comment effectuer ma routine de validation sur les entrées du formulaire à chaque fois qu'elles changent. Mais je ne sais pas trop quoi faire des messages d'erreur maintenant que je les ai.
Voici l'approche que j'envisage. Je ne suis pas sûr qu'elle soit bonne :
- Créer un modèle "Message", qui correspond à une "Vue", qui est une sous-vue (si c'est possible) de mes vues existantes. Cette vue/modèle peut afficher des messages et des erreurs au niveau de la page dans les trois premiers scénarios que je mentionne ci-dessus. Je ne sais pas si c'est faisable d'avoir une "sous-vue" et comment gérer le templating pour cela. Mais si c'est possible, les modèles parents pourraient inclure le sous-modèle "message". La vue du message pourrait afficher/masquer le sous-modèle en fonction de l'état du modèle de message. Faisable ? Stupide ?
- Pour le quatrième scénario, la validation du modèle renverra un objet d'erreur avec des messages spécifiques pour chaque champ erroné chaque fois qu'un "model.set" est appelé par des changements de champs de formulaire. Je ne veux pas interrompre le "model.set" mais je veux afficher le(s) message(s) d'erreur à côté de chaque champ. Je voudrais savoir comment factoriser mon modèle edit/new et Post model/view de manière à ne pas violer le modèle MVC. C'est-à-dire que je ne veux pas mettre des références à des éléments DOM au mauvais endroit.
Désolé si c'est vague. Si vous avez envie de m'aider, faites-moi savoir quels extraits de code pourraient être utiles (ou d'autres détails) et je vous les fournirai.