2013-09-04 2 views
0

J'utilise Spring 3 avec hibernate pour la validation d'un contrôleur.Spring mvc et Hibernate validator, erreur

Lorsque mon formulaire est correct, il me redirigera vers la page que je veux, mais quand la validation a un problème, elle se casse juste et m'envoie à une page "non trouvée". Je pense que ma structure est correcte, donc je ne comprends pas.

@RequestMapping(params = "guardaNuevo", method = RequestMethod.POST) 
public String guardaSimCard( @ModelAttribute("validator")@Valid CatalogoSimCardValidator validator, HttpServletRequest request,Model model,BindingResult result) { 
    System.out.println("--------------------------------"); 

    model.addAttribute("CatalogoSimCardValidator", new CatalogoSimCardValidator()); 
    System.out.println(result); 
    System.out.println("no errores"); 
} 

Mon validateur ressemble à ceci:

public class CatalogoSimCardValidator { 

    @NotNull 
    private int idSimCard; 
    @NotEmpty (message="La descripción no puede venir vacía") 
    private String descripcionSimCard=""; 
    @NotNull 
    @NumberFormat(style=Style.CURRENCY) 
    private double precio; 

    @NumberFormat(style=Style.NUMBER) 
    private int version=0; 
    @NotEmpty 
    private String descripcionVers; 

et, évidemment, je ne manque pas:

<context:component-scan base-package="com.telcel.sds.crm.dlyscrm.precios.web"/> 
<context:annotation-config/> 
<mvc:annotation-driven /> 

Répondre

0

Changer votre signature de méthode pour mettre le paramètre BindingResult à côté du à @Valid paramètre

public String guardaSimCard(@ModelAttribute("validator") @Valid CatalogoSimCardValidator validator, BindingResult result, HttpServletRequest request, Model model) { 

Je suppose que l'exception que vous obtenez est un IllegalStateException (il serait utile que vous posté) provenant d'un ErrorsMethodArgumentResolver et déclare

Un Erreurs argument/BindingResult devrait être déclarée immédiatement après l'attribut modèle, le @RequestBody ou les arguments @RequestPart auxquels ils s'appliquent: [...]

+0

wow MERCI HOMME !!! C'ÉTAIT L'ORDRE DE RÉSULTAT OBLIGATOIRE, VOUS CONSERVEZ MA VIE !! MERCI MERCI! – user2597289

+0

@ user2597289 De rien! –

Questions connexes