[spring 3.0.5] [Jboss 5.1]
Mes classes principales sont
public class UserAddressesForm { @NotEmpty private Ssortingng firstName; @NotEmpty private Ssortingng lastName; private List addresses; ... setters and getters public class AddressForm { @NotEmpty private Ssortingng customName; @NotEmpty private Ssortingng city; @NotEmpty private Ssortingng streetAn; @NotEmpty private Ssortingng streetHn; @NotEmpty private Ssortingng addressCountry; @NotEmpty private Ssortingng postCode; ... setters and getters
Un contrôleur
@RequestMapping(value = "/up", method = RequestMethod.POST) public Ssortingng completeForm(@Valid @ModelAtsortingbute("userAddressesForm") UserAddressesForm userAddressesForm, BindingResult result, HttpServletRequest req) ...
Une page JSP
Pourquoi les champs d’object ne sont-ils pas validés AddressForm?
S’il vous plaît aider.
Vous devez décorer des addresses
membre de UserAddressesForm
avec @Valid
annotation @Valid
. Voir les sections 3.1.3 et 3.5.1 de JSR 303: Validation des haricots . Comme je l’ai expliqué dans ma réponse à la question Existe-t-il une méthode standard pour activer la validation de @Valid
JSR 303 en utilisant la méthode annotée , c’est l’utilisation réelle de l’annotation @Valid
selon JSR 303.
Edit Exemple de code: Hibernate Validator- Object Graph . (La liste des passagers en voiture)
En ajoutant à la réponse @Valid
contrainte @Valid
demandera au validateur de bean d’approfondir le type de sa propriété appliquée et de valider toutes les contraintes qui s’y trouvent. Répondez avec le code à votre question, le validateur, lorsqu’il @Valid
une contrainte @Valid
sur la propriété addresses
, explorera la classe AddressForm
et validera toutes les contraintes JSR 303
trouvées à l’intérieur, comme suit:
public class UserAddressesForm { @NotEmpty private Ssortingng firstName; @NotEmpty private Ssortingng lastName; @Valid private List addresses; ... setters and getters public class AddressForm { @NotEmpty private Ssortingng customName; @NotEmpty private Ssortingng city; @NotEmpty private Ssortingng streetAn; @NotEmpty private Ssortingng streetHn; @NotEmpty private Ssortingng addressCountry; @NotEmpty private Ssortingng postCode; ... setters and getters