此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Boot 3.3.4spring-doc.cn

只要 JSR-303 实现(例如 Hibernate 验证器)在 Classpath 上,Bean Validation 1.1 支持的方法验证功能就会自动启用。 这允许 bean 方法使用其参数和/或返回值的约束进行 Comments。 具有此类 Comments 方法的目标类需要在类型级别使用 Comments 进行 Comments,以便搜索其方法的内联约束 Comments。jakarta.validation@Validatedspring-doc.cn

例如,以下服务触发第一个参数的验证,确保其大小介于 8 和 10 之间:spring-doc.cn

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 ...
	}

}
import jakarta.validation.constraints.Size
import org.springframework.stereotype.Service
import org.springframework.validation.annotation.Validated

@Service
@Validated
class MyBean {

	fun findByCodeAndAuthor(code: @Size(min = 8, max = 10) String?, author: Author?): Archive? {
		return null
	}

}

在 constraint 消息中解析时使用应用程序的 s。 这允许您将应用程序的 messages.properties 文件用于 Bean 验证消息。 解析参数后,将使用 Bean Validation 的默认插值器完成消息插值。MessageSource{parameters}spring-doc.cn

要自定义用于构建 的 ,请定义一个 bean。 定义多个定制器 bean 时,将根据它们的注释或实现按顺序调用它们。ConfigurationValidatorFactoryValidationConfigurationCustomizer@OrderOrderedspring-doc.cn