Spring引导validation注释不适用于Kotlin

我为Kotlin获得了一个简单的数据类

data class Person(val name: String, @get: Min(18) val age: Int) 

我实际上是从CSV文件构建这个类,并使用apache CSV解析器读取CSV。 即使我有一些age小于18的数据,测试仍然没有通过任何错误。

看起来这个注释不适用于Kotlin?

您目前使用Min注释来注释构造函数参数 – 我相信您应该注释该字段,而使用一个使用站点目标,如下所示:

 data class Person(val name: String, @field:Min(18) val age: Int) 

尝试添加注解@Validated类(可能只是春豆的工作)。 这些注释不会阻止设置的值,它们只是允许从现有实例获取带有validation错误列表的BindingResult 。 如果您需要防止设置值,则可以使用自定义委托。

  val age: Int by MyDelegates.min(18)