gpt4 book ai didi

java - 在 spring-mvc 上处理密码确认

转载 作者:行者123 更新时间:2023-12-02 18:18:13 26 4
gpt4 key购买 nike

我正在 spring-mvc 中进行用户增删改查。

我的模型具有以下属性:

private Long id;
private String password;
private String username;
private Collection<Authority> myAuthorities;
private boolean isAccountNonExpired;
private boolean isAccountNonLocked;
private boolean isCredentialsNonExpired;
private boolean isEnabled;

我解决了如何在此 question 中显示 Authority 类.

现在我希望我的表单能够有第二个密码字段来确认用户是否正确输入了密码。

我不想向模型添加 confirmPassword 属性,所以我的问题是如何以最佳方式解决此问题。

编辑:

一切都符合 axtavt 的答案,但我缺少一种验证方法。我的 Controller 中有以下方法,但即使我放置了 @Validate未调用 ApplicationUserFormValidator

    @RequestMapping(method = RequestMethod.POST)
public ModelAndView create(Model model,
@Valid @ModelAttribute ApplicationUserForm applicationUserFrom,
BindingResult result) {
ModelAndView modelAndView = new ModelAndView();

if (result.hasErrors()) {
modelAndView.setViewName(USER_CREATE_FORM);
} else {
modelAndView.setViewName(REDIRECT_TO_USER_LIST);
modelAndView.addObject(USER_FORM_MESSAGE, USER_FORM_ADD_SUCCESSFUL);
applicationUserService.save(applicationUserFrom.getUser);
}

return modelAndView;
}

最佳答案

在 applicationUserFrom 类中添加 confirmPassword
并在setter中添加检查功能
这是我最好的办法

private String password;
@NotNull(message="not match")
private String confirmPassword;

public void setPassword(String password) {
this.password = password;
checkPassword();//check
}

public void setConfirmPassword(String confirmPassword) {
this.confirmPassword = confirmPassword;
checkPassword();//check
}

private void checkPassword() {
if(this.password == null || this.confirmPassword == null){
return;
}else if(!this.password.equals(confirmPassword)){
this.confirmPassword = null;
}
}

关于java - 在 spring-mvc 上处理密码确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com