2009-08-05 8 views
3

Ich habe einen Befehl Klasse mit dem Namen Eltern wie folgt:Unterstützt die Annotation-basierte Bean-Validierung von Spring-MVC die sammlungbasierte Eigenschaft? (Frühling-MVC)

public class Parent { 

    private List<Child> childList; 

    // getters and setters 

} 

Und ein Kind Klasse nach

public class Child { 

    @NotBlank 
    private String name; 

    @NotBlank 
    private String email; 

    @NotBlank 
    private Integer age; 

} 

In Spring validation module, ich habe eine @Cascade Anmerkung bemerkt worden.

Frage: Funktioniert es in sammlungbasierten Eigenschaften wie in childList-Eigenschaft? Wenn ja, wie kann ich es benutzen?

Grüßen,

Antwort

3

Mit Hibernate Validator 4.0.0 Beta2, können Sie.

Es basiert auf JSR-303 Bean Validation.

Beschriften Sie Ihre Liste mit @Valid den Inhalt der Liste

@Valid 
private List<Child> childList; 

nun zur Validierung Validierung:

ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
Validator validator = factory.getValidator(); 
Set<ConstraintViolation<Parent>> constraintViolations = validator.validate(Parent); 
+0

Does Frühlings-MVC-Unterstützung für sie? –

+1

Sie tun können: für (ConstraintViolation Einschränkung:. Validator() Validierung (parent)) { \t bindingResult.rejectValue (constraint.getPropertyPath(), null, constraint.getMessage()); } –

+0

Trank Sie, Niels. Ich werde deinen Ratschlag annehmen. UPvote. Grüße –

Verwandte Themen