Validation des entrées utilisateur dans Spring MVC : un guide complet
La validation des entrées utilisateur est cruciale pour garantir l'intégrité et la fiabilité des données de formulaire sur le Web candidatures. Spring MVC propose plusieurs approches pour accomplir cette tâche, chacune avec ses avantages et ses inconvénients.
Méthode 1 : Validation basée sur les annotations
Pour des exigences de validation simples, Spring 3. x et versions ultérieures introduisent l'utilisation des annotations javax.validation.constraints. Ces annotations sont appliquées directement aux propriétés du bean, les marquant comme requises ou soumises à des contraintes spécifiques. Par exemple :
<code class="java">public class User { @NotNull private String name; ... }</code>
Dans votre contrôleur, vous pouvez utiliser @Valid et @ModelAttribute pour effectuer la validation :
<code class="java">@RequestMapping(value="/user", method=RequestMethod.POST) public createUser(Model model, @Valid @ModelAttribute("user") User user, BindingResult result){ if (result.hasErrors()){ // do something } else { // do something else } }</code>
Méthode 2 : validation manuelle
Pour des exigences de validation plus complexes, il est recommandé d'implémenter manuellement la logique de validation à l'aide de l'interface org.springframework.validation.Validator.
<code class="java">public class UserValidator implements Validator { @Override public boolean supports(Class clazz) { return User.class.equals(clazz); } @Override public void validate(Object target, Errors errors) { User user = (User) target; if(user.getName() == null) { errors.rejectValue("name", "your_error_code"); } // do "complex" validation here } }</code>
Dans votre contrôleur :
<code class="java">@RequestMapping(value="/user", method=RequestMethod.POST) public createUser(Model model, @ModelAttribute("user") User user, BindingResult result){ UserValidator userValidator = new UserValidator(); userValidator.validate(user, result); if (result.hasErrors()){ // do something } else { // do something else } }</code>
Méthode 3 : Approche combinée
La combinaison de la validation basée sur les annotations et de la validation manuelle peut tirer parti des avantages des deux approches.
Avertissement :
La gestion de la validation ne doit pas être confondue avec la gestion des exceptions. La validation concerne les règles métier et les contraintes de données de votre application, tandis que la gestion des exceptions corrige les erreurs système.
Références :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!