| 

.NET C# Java Javascript Exception

renderErrors Sortierung

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


renderErrors Sortierung

koeberle - 02.11.2010 13:58
Kann man irgendwo beeinflussen das die Errors (<g:renderErrors as="list/>")die im View angezeigt werden genauso sortiert sind wie die Eingabefelder?
class Auftrag {
  String name
  Kunde kunde
  static constraints = {
     name (blank:false)
     kunde(nullable:false)
  }
}
Im View werden das Eingabefeld und die Selectbox in der Reihenfolge angezeigt wie in den constraints definiert. Wenn ich beide Felder leer lasse bzw. nichts auswähle. Kommt in der Fehlerliste zuerst die Meldung für den Kunden dann die Meldung für den Namen (k<n). Ich würde aber erwarten das die Meldungen genauso sortiert sind wie die Eingabefelder.

Christian


Re: renderErrors Sortierung

mpuhlmann - 02.11.2010 14:47
Hallo Christian,

ich befürchte, dass die Anzeigereihenfolge nicht verändert werden kann. Eine alternative (wenn auch recht umständliche) Lösung sieht wie folgt aus:

<ul>
<g:eachError bean="${auftrag}" field="name">
    <li>${it}</li>
</g:eachError>
<g:eachError bean="${auftrag}" field="kunde">
    <li>${it}</li>
</g:eachError>
</ul>

Gruss

Marco


Re: renderErrors Sortierung

koeberle - 02.11.2010 14:50
Na dann werde ich das mal den Grails-Leute vorschlagen das zu ändern.


Re: renderErrors Sortierung

milkyman - 02.11.2010 17:39
Selber machen! :-)


Doku [grails.org] mit renderErrors TAG show sourcen und dann
package org.codehaus.groovy.grails.plugins.web.taglib.ValidationTagLib ist ein guter Startpunkt.

Bye,
Horst


Re: renderErrors Sortierung

badbadverybad - 02.11.2010 21:27
Das Problem liegt viieel tiefer, und zwar letztendlich darin, daß bei der Transformation einer ConstraintProperty zu einem FieldError die ConstraintProperty.order-Eigenschaft verloren geht.

Da spielen die Grails-Framework- und Spring-APIs offenbar nicht richtig zusammen, obwohl an sich beide - allerdings unterschiedliche - Mechanismen haben, um eine Sortierreihenfolge sicherzustellen.

Letztendlich läßt sich in der ValidationTagLib (oder irgendeiner selbsterstellten Ausgabe) die domainclass.errors nicht mehr nachsortieren.

milkyman schrieb:
-------------------------------------------------------
> Selber machen! :-)
>
>
> Doku [grails.org] mit renderErrors
> TAG show sourcen und dann
> package
> org.codehaus.groovy.grails.plugins.web.taglib.Vali
> dationTagLib ist ein guter Startpunkt.


Re: renderErrors Sortierung

milkyman - 03.11.2010 11:02
Ich habs mir jetzt nicht so tiiiiiiief angeschaut.

Geht denn die Info verloren, welche Domain da validiert wird? Weil aus der Domain könnte man die Order doch jederzeit wieder zurückholen.

Bye,
Horst


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "renderErrors Sortierung" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.