跳到主要内容

验证

DeepSeek V3 中英对照 Validation

默认情况下,如果类路径上存在 Bean Validation(例如 Hibernate Validator),LocalValidatorFactoryBean 将被注册为一个全局的 Validator,用于处理控制器方法参数上的 @Valid@Validated 注解。

你可以自定义全局的 Validator 实例,如下例所示:

@Configuration
public class WebConfiguration implements WebMvcConfigurer {

@Override
public Validator getValidator() {
Validator validator = new OptionalValidatorFactoryBean();
// ...
return validator;
}
}
java

请注意,你也可以在本地注册 Validator 的实现,如下例所示:

@Controller
public class MyController {

@InitBinder
public void initBinder(WebDataBinder binder) {
binder.addValidators(new FooValidator());
}
}
java

:::提示
如果你需要在某个地方注入 LocalValidatorFactoryBean,请创建一个 bean 并使用 @Primary 标记它,以避免与 MVC 配置中声明的 bean 发生冲突。
:::