検証
Bean 検証 1.1 でサポートされるメソッド検証機能は、JSR-303 実装(Hibernate バリデーターなど)がクラスパス上にある限り、自動的に有効になります。これにより、Bean メソッドに、パラメーターおよび / または戻り値の jakarta.validation
制約をアノテーションできます。このようなアノテーション付きメソッドを持つターゲットクラスには、インライン制約アノテーションを検索するメソッドの型レベルで @Validated
アノテーションを付ける必要があります。
たとえば、次のサービスは最初の引数の検証をトリガーし、そのサイズが 8 〜 10 であることを確認します。
Java
Kotlin
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
}
}
アプリケーションの MessageSource
は、制約メッセージの {parameters}
を解決するときに使用されます。これにより、アプリケーションの messages.properties
ファイルを Bean 検証メッセージに使用できます。パラメーターが解決されると、Bean バリデーションのデフォルトの補間器を使用してメッセージの補間が完了します。
ValidatorFactory
の作成に使用される Configuration
をカスタマイズするには、ValidationConfigurationCustomizer
Bean を定義します。複数のカスタマイザ Bean が定義されている場合、@Order
アノテーションまたは Ordered
実装に基づいて順番に呼び出されます。