Ne peuvent obtenir la validation de travailler avec Spring Boot et Thymeleaf
J'ai un Ressort de Démarrage de l'application (à l'aide de la version 1.2.3) avec 1 contrôleur affiche un formulaire. Tout cela fonctionne très bien, mais maintenant, je veux ajouter la validation. J'ai cette méthode dans mon controller:
@RequestMapping(value = "/licensing", method = RequestMethod.POST)
public String doRegistration( @Valid CustomerLicenseRegistration customerLicenseRegistration, Model model, BindingResult bindingResult )
{
if( bindingResult.hasErrors())
{
logger.debug( "There are errors! {}", bindingResult );
return "customer/license-registration";
}
logger.debug( "customerLicenseRegistration: " + customerLicenseRegistration );
CustomerLicense customerLicense = m_licenseService.createCustomerLicense( customerLicenseRegistration );
model.addAttribute( "customerLicense", customerLicense );
return "customer/license-registration-done";
}
Si j'ai maintenant le type de quelque chose de non valide, j'obtiens le "Whitelabel page d'erreur" après la soumission, et de mon point d'arrêt à l'intérieur de la méthode n'est jamais atteint (Si je retire la @Valid
annotation, le point d'arrêt est atteint). La page d'erreur indique:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon May 18 09:42:27 CEST 2015
There was an unexpected error (type=Bad Request, status=400).
Validation failed for object='customerLicenseRegistration'. Error count: 1
Printemps semble remarquer que l'objet n'est pas valide, mais il n'affiche pas le formulaire à nouveau de sorte que l'utilisateur peut corriger son erreur. Ce que je fais mal?
OriginalL'auteur Wim Deblauwe | 2015-05-18
Vous devez vous connecter pour publier un commentaire.
Trouvé la réponse en raison de le tutoriel ici. Je dois changer ma signature de la méthode à partir de:
:
Remarquez comment le
BindingResult
doit être immédiatement après que l'objet que j'ai annoté avec@Valid
.Thx. Veuillez upvote si vous aimez la réponse.
assurez-vous. J'ai juste oublié de bonheur 🙂
Belle prise, tx!
Merci 🙂 ce sont des choses qui m'ennuient au printemps hahahah
OriginalL'auteur Wim Deblauwe
Dans mon cas, c'était une erreur de saisie de la boîte de saisie. En fait, je suis entré à "-" caractère spécial dans la zone de saisie qui jette même erreurla Validation a échoué pour objet= "événements". Erreur de comptage: 5.
Je l'ai résolu en entrant numérique/String valeurs.
OriginalL'auteur Abhishek Singh