小编rus*_*ush的帖子

弹簧@valid不起作用

我使用 \xe3\x80\x8cpostman\xe3\x80\x8d 发送“application/json”类型的 POST 请求,将参数“phone”设置为空字符串,通常它应该打印注释“@NotEmpty”的错误,但是,它没有打印任何内容并且运行良好。

\n\n

控制器:

\n\n
  @RequestMapping(value = "verify_smscode", method = RequestMethod.POST)\n  @ResponseBody\n  public ResponseDto verifySmsCode(HttpServletRequest request,\n      @Valid @RequestBody VerifySmsCodeParam params, Errors errors) {\n    if(errors.hasErrors()) {\n      System.out.println("error");\n    }\n\n    boolean success = userService.verifySmsCode(params.getPhone(), params.getSmsCode());\n\n    Map<String, Object> result = new HashMap<>();\n    result.put("status", success);\n    return new ResponseDto(result);\n  }\n
Run Code Online (Sandbox Code Playgroud)\n\n

模型:

\n\n
@Data\n@NoArgsConstructor\npublic class VerifySmsCodeParam {\n\n  @NotEmpty //import org.hibernate.validator.constraints.NotEmpty;\n  private String phone;\n\n  @NotEmpty\n  private String smsCode;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

SpringMvc配置:

\n\n
@Configuration\n@ComponentScan(basePackages="com.shit.voiceshare")\n@EnableWebMvc\npublic class SpringMvcConfig extends WebMvcConfigurerAdapter {\n  @Override\n  public Validator getValidator() {\n    LocalValidatorFactoryBean localValidatorFactoryBean …
Run Code Online (Sandbox Code Playgroud)

java validation spring spring-mvc

5
推荐指数
1
解决办法
6913
查看次数

标签 统计

java ×1

spring ×1

spring-mvc ×1

validation ×1