Existe-t-il un moyen (simple) de contrôler l'ordre dans lequel les erreurs d'un modèle apparaissent dans la vue? Ordonner les règles ne semble pas aider du tout.Trier ou ordonner des messages d'erreur dans error_messages (Rails)
Répondre
Utilisez error_message_on
au lieu de error_messages
pour obtenir le message d'attribut individuel.
<div class="errorMessages">
<% %{name title description}.each do |att| %>
<%= f.error_message_on att, :css_class => "error" %>
<% end %>
</div>
Parfait. C'est ce dont j'avais besoin. –
Voici une réponse (pour mes propres notes, fondamentalement) en utilisant la réponse de Baldu. Cela met les attribute_names en ordre alphabétique:
<% if @model.errors.length>0 %>
<div class="errorExplanation">
<h3>There were problems with the following fields:</h3><ul>
<% @model.attribute_names.each do |attribute| %>
<% if [email protected][attribute].blank? %>
<li><%= f.error_message_on attribute, Model.human_attribute_name(attribute)+ " ", :style=>"display:inline" %></li>
<% end %>
</ul>
<% end %>
</div>
<% end %>
Bien sûr, vous pouvez paramétrer cet autre comme par exemple partielle,. Je vais probablement le faire :)
Dans 2.3.6 messages de validation montreront pour vous les déclarés dans le code
J'ai eu le même prob Groovy dans des rails (Grails). le changer dans le code ne change rien, la réponse ci-dessus ne fonctionne pas pour moi non plus. C'est ainsi que je finis par résoudre mon problème. L'équipe a créé une balise personnalisée pour trier/commander les messages d'erreur de grails.
def renderOrderedErrors = { attrs, body ->
def bean = attrs.bean
def fields = attrs.fields
fields.each { out << g.renderErrors(bean: bean, field:it) }
}
et voici comment vous l'utilisez:
<g:if test="${totalRating.hasErrors() || rating.hasErrors()}">
<div class="errors">
<g:if test="${totalRating.hasErrors()}"><g:renderOrderedErrors bean="${totalRating}" as="list" fields="${['totalEffectiveDate','awardedDisability']}"/></g:if>
<g:if test="${rating.hasErrors()}"><g:renderOrderedErrors bean="${rating}" as="list" fields="${['ratingStatus','ratingIssue','disability','effectiveDate','ratingType','socDate','nodDate','ssocDate','form9Date','six46Date','remandDate']}"/></g:if>//this is the way you want to order the fields in the form
</div>
</g:if>
- 1. Trier la collection d'objets dans des rails?
- 2. Ordonner par dans SQL
- 3. Trier des objets imbriqués dans Rails 2.3
- 4. Traitement des messages d'erreur dans les rails
- 5. Rails: Gestion des messages lus/non lus
- 6. JPA2 + Hibernate + Ordonner par
- 7. Rails logger messages test.log?
- 8. XML Envoyer des messages à Rails
- 9. Trier les modèles d'association dans Rails 3?
- 10. Modification des messages d'erreur par défaut dans Rails
- 11. Rails messages d'erreur et redirections
- 12. Utilisation de messages instantanés HTML dans Rails
- 13. Rails messages flash en Java
- 14. Django - ordonner un filtre par la somme des valeurs ForeignKey?
- 15. Attributs traduits dans les messages d'erreur Rails (Rails 2.3.2, I18N)
- 16. messages de validation de rails
- 17. Rails, concombre et messages localisés
- 18. Comment faire pour ordonner des lignes mysql par plusieurs colonnes?
- 19. ordonner que log4net exécute ses appenders
- 20. Renvoyer des messages dans Smalltalk
- 21. Comment trier les lignes dans un formulaire d'objet imbriqué dans des rails pour une seule vue?
- 22. Comment tester les messages personnalisés renvoyés par une validation de modèles dans Rails
- 23. Surcharge des messages d'erreur (validation) des messages Gems/Plugins
- 24. Formulaire pour trier un index dans les rails
- 25. Files d'attente de messages dans Ruby on Rails
- 26. Rails: trier une requête par params?
- 27. Rails: Comment trier/réordonner une OrderedHash
- 28. Trier la liste des articles dans Symfony
- 29. JAVA ou JAVA SCRIPT OU IDoc SCRIPT alphabétique Trier
- 30. ordonner par et limiter la condition dans mysql
Note: Je mets ma réponse ci-dessous, qui utilise la meilleure réponse pour l'aider le long. –