跳到主要内容

验证

DeepSeek V3 中英对照 Validation

只要类路径上存在 JSR-303 实现(例如 Hibernate validator),Bean Validation 1.1 支持的方法验证功能就会自动启用。这使得可以在 Bean 方法的参数和/或返回值上使用 jakarta.validation 约束进行注解。带有此类注解方法的目标类需要在类型级别上使用 @Validated 注解,以便在方法中搜索内联约束注解。

例如,以下服务会触发对第一个参数的验证,确保其大小在 8 到 10 之间:

import jakarta.validation.constraints.Size;

import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;

@Service
@Validated
public class MyBean {

public Archive findByCodeAndAuthor(@Size(min = 8, max = 10) String code, Author author) {
return ...
}

}
java

应用程序的 MessageSource 用于在约束消息中解析 {parameters}。这允许你使用 应用程序的 messages.properties 文件 来处理 Bean Validation 消息。一旦参数被解析,消息插值将通过 Bean Validation 的默认插值器完成。

要自定义用于构建 ValidatorFactoryConfiguration,可以定义一个 ValidationConfigurationCustomizer bean。当定义了多个自定义器 bean 时,它们会根据 @Order 注解或 Ordered 实现按顺序调用。