在Spring的持续时间停止一些验证

时间:2017-09-10 12:42:46

标签: validation jpa spring-boot spring-security bean-validation

有没有办法阻止在数据持续时执行某些验证。

我知道

  

spring.jpa.properties.javax.persistence.validation.mode =无

但我相信禁用所有验证,我只是想为某些字段禁用它(具体是密码,因为它是在那个时间编码然后模式不匹配)。谢谢!

更新(更多详情):

@Pattern(regexp = "^[A-Za-z0-9_@!]+$")
private String password;

我有一个使用上述模式验证的密码字段(A-Z,a-z,0-9和_,@ ,!)。在控制器中,它通过下面的代码验证成功。

@RequestMapping(value = "/adduser", method = RequestMethod.POST)
public ModelAndView signUp(ModelAndView modelAndView, @ModelAttribute @Valid LoginUser loginUser, BindingResult bindingResult) {
    LoginUser loginUserAdded = null;

    if (!bindingResult.hasErrors()) {
        loginUser.setPassword(passwordEncoder.encode(loginUser.getPassword()));
        loginUserAdded = createUser(loginUser);

....

然后在持久化之前我编码密码然后在JpaRepository中调用save方法时抛出错误,因为编码器更改了密码值并且它不满足应用于它的模式验证。

现在我正在寻找一种方法,可以在持续时禁用此字段的验证。

0 个答案:

没有答案