在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ 關(guān)于JSR303校驗(yàn)不生效的問(wèn)題?

關(guān)于JSR303校驗(yàn)不生效的問(wèn)題?

在看spring in actin第四版, 第五章5.4.2校驗(yàn)數(shù)據(jù)這節(jié), 使用JSR303進(jìn)行數(shù)據(jù)校驗(yàn), 但是沒(méi)有生效, 也沒(méi)有報(bào)錯(cuò)

使用的是hibernate-validator的實(shí)現(xiàn), gradle依賴:

compile group: 'org.hibernate', name: 'hibernate-validator', version: '6.0.9.Final'

javabean代碼:

public class Spitter {

    private Long id;

    @NotNull
    @Size(min = 5, max = 16)
    private String username;

    @NotNull
    @Size(min = 5, max = 25)
    private String password;

    @NotNull
    @Size(min = 2, max = 30)
    private String firstName;

    @NotNull
    @Size(min = 2, max = 30)
    private String lastName;

    @NotNull
    @Email
    private String email;
        
   // getter and setter
}

controller相關(guān)代碼塊:

 @RequestMapping(value = "/register", method = RequestMethod.POST)
    public String processRegistration(@Valid Spitter spitter, Errors errors) {
        System.out.println(spitter);
        if (errors.hasErrors()) {
            errors.getAllErrors().forEach(System.out::println);
            return "registerForm";
        }

        spitterRepository.save(spitter);

        return "redirect:/spitter/" + spitter.getUsername();
    }
回答
編輯回答
扯不斷

我試了一下,在我這你的代碼沒(méi)有問(wèn)題,參數(shù)有問(wèn)題時(shí)可以進(jìn)入到 if 塊,比如當(dāng)只傳遞 username 和 password 會(huì)給出如下輸出:

Field error in object 'spitter' on field 'lastName': rejected value [null]; codes [NotNull.spitter.lastName,NotNull.lastName,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [spitter.lastName,lastName]; arguments []; default message [lastName]]; default message [不能為null]
Field error in object 'spitter' on field 'email': rejected value [null]; codes [NotNull.spitter.email,NotNull.email,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [spitter.email,email]; arguments []; default message [email]]; default message [不能為null]
Field error in object 'spitter' on field 'firstName': rejected value [null]; codes [NotNull.spitter.firstName,NotNull.firstName,NotNull.java.lang.String,NotNull]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [spitter.firstName,firstName]; arguments []; default message [firstName]]; default message [不能為null]
2017年7月3日 07:47
編輯回答
萌二代

樓主解決了么

2017年4月15日 03:23