所以我一直在学习春天和百里香,并创建了一个登录注册系统。
所以,我希望我的注册表格先经过验证,然后任何人才能提交。 这是我配置用户模型类的方式。
[456, 789]
这是我的控制器,它处理get和post请求。
@Entity
public class User {
@Id
@Column(nullable = false)
@Size(min=4, max=32, message="Username name must be between 4 and 32 characters")
private String username;
@Column(nullable = false)
@Size(min=8, max=32, message="Password must be between 8 and 32 characters")
@Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,10}$+",
message = "Your password must contain at least one uppercase letter, one lowercase letter, " +
"one number and one special character")
private String password;
@Column(nullable = false)
@Email(message="Please enter a valid email")
private String email;
private boolean isAccountNonExpired;
private boolean isAccountNonLocked;
private boolean isCredentialsNonExpired;
private boolean isEnabled;
private String roles;
private String permissions;
这是我的html文件,它检查错误并打印出来
@GetMapping("register")
public String getRegisterView(Model model){
model.addAttribute("user", new User());
return "register";
}
@PostMapping("register")
public String postRegisterView(@Valid User user, Model model, BindingResult bindingResult){
model.addAttribute("user", user);
if (bindingResult.hasErrors()) {
return "register";
}
applicationUserService.setupUser(user);
return "redirect:index";
}
所以基本上,这是一种非常简单的形式,它只是使对象脱离输入的值,然后基本上将它们保存到我的存储库中。
问题是验证没有被应用,我基本上可以输入我想输入的任何内容并将其保存到存储库中...
我搜索了所有的在线链接和解决方案,但在我的情况下,它们都不起作用。