6

Ich verwende die Einschränkungsanmerkungen zur Validierung meiner Objekte in Play! Framework 2. Es funktioniert gut für Objekte der obersten Ebene, aber nicht für verschachtelte Objekte. Wie bekomme ich meine geschachtelten Objektvalidierungsanmerkungen?Validierung funktioniert nicht bei verschachtelten Objekten in Play Framework 2

Ereignis: Das Top-Level-Objekt, das ich speichere.

@Entity 
public class Event { 

    @Required 
    public String name; 

    @OneToMany(cascade = CascadeType.ALL) 
    public List<Option> options; 

    ... 
} 

Option: Das verschachtelte Objekt. Es überprüft nicht die Eigenschaft name.

@Entity 
public class Option { 

    @Required 
    public String name; 

    ... 
} 

Antwort

14

Nicht vertraut mit Spielen, aber es sieht ganz in der Nähe javax.validation, in dem Sie benötigen würden @Valid auf options Feld setzen dem Validator zu sagen, in diese Beziehung steigen. Spielen hat eine @Valid eigene, also würde ich das eine Chance geben.

Update: Wie OP darauf hingewiesen, ist das oben genannte Play 1.0. Stattdessen verwendet es die Play 2.0 docs Spring Datenbindung und JSR-303 unter der Haube, also wie wäre es mit der javax.validation @Valid Annotation auf sie? Vielleicht hatte Play 1.0 ein hauseigenes Validierungs-Framework und sie entschieden sich, in 2.0 auf javax.validation umzusteigen? Das würde erklären, warum mehrere Validierungsannotationen in der 2.0 API verschwunden zu sein scheinen.

+0

Ich glaube, das ist ein Play 1 Annotation, nicht 2. – Brian

+0

Hoppla, tut mir leid. Meine Antwort wurde aktualisiert. Probieren Sie es aus. –

Verwandte Themen