spring - BindingResult 对象保持为空
问题描述
我无法弄清楚为什么我的验证示例代码不起作用!这是我的对象:
@PasswordMatches
public class UtilisateurInscriptionEnCoursDto implements Serializable {
private static final long serialVersionUID = -4445329534944784344L;
/** The id. */
private Long id;
@NotNull(message = "Saisissez votre nom")
@NotEmpty
private String nom;
@NotNull
@NotEmpty(message = "Saisissez votre prénom")
private String prenom;
@NotNull
@NotEmpty(message = "Entrez un mot de passe")
private String password;
private String matchingPassword;
@ValidEmail
@NotNull
@NotEmpty(message = "Saisissez votre adresse mail")
private String email;
这是我的控制器:
@GetMapping("/inscription")
public String afficherFormulaireInscription(WebRequest request, Model model) {
model.addAttribute("user", new UtilisateurInscriptionEnCoursDto());
return "inscription";
}
@PostMapping("/inscription")
public String enregistrerCompteUtilisateur(@ModelAttribute("user") @Valid UtilisateurInscriptionEnCoursDto utilisateurInscriptionEnCoursDto,
BindingResult result, Model model, HttpServletRequest request) {
if (result.hasErrors()) {
return "inscription";
}
try {
this.gestionUtilisateuFacade.verifierEmailInscriptionUtilisateur(utilisateurInscriptionEnCoursDto);
} catch (UtilisateurExistantException ueEx) {
String errMessage = this.messages.getMessage("message.regError", null, request.getLocale());
model.addAttribute("message", errMessage);
return "inscription";
} catch (RuntimeException ex) {
LOGGER.warn("Impossible de s'inscrire", ex);
return "inscription";
}
return "succesInscription";
}
try/catch 块运行良好,但即使我将所有字段都留空,我也无法成功获得 result.hasErrors() == true。
任何帮助的想法
多谢。
解决方案
我添加了我的评论作为答案:
如果您使用的是 spring boot 2.3+,则可能需要依赖 spring-boot-starter-validation。
推荐阅读
- c# - HangFire 如何执行这些方法?
- android - 如何从内部存储中读取图像
- r - R语言,dnorm函数
- sql - 使用分组集时,PostgreSQL where 子句未下推
- jupyter - 如何更新 @jupyterlab/application 依赖项?
- batch-file - 将值组合到另一行的脚本
- tabulator - 无法使用ajax将数据加载到表中
- ruby - Rails 嵌套属性验证强制首先保存父级
- spring - spring 有什么方法可以在 spring 中动态创建对象而不使用工厂模式
- javascript - 量角器>Package.json 配置> 在我的 mac book 中找不到 .bin 文件夹