rrader
07/26/2017, 9:45 AMdata class Login(@get:NotBlank @get:Size(min=3) @JsonProperty(value = "login", required = true) val login: String,
@get:NotBlank @JsonProperty(value = "password", required = true) val password: String)
annotations are used for validation, validation is executed after constructor
but before validation, I need to trim login
and password
, in order to reject values as " r " for login
, because real value is "r" and size is 1, which is less than 3
how to do this in Kotlin?rafal
07/26/2017, 9:54 AMclass Login(login: String, password: String){
@get:NotBlank @get:Size(min=3) @JsonProperty(value = "login", required = true) val login: String = login.trim()
@get:NotBlank @JsonProperty(value = "password", required = true) val password: String = password.trim()
}
data
classdata class Login private constructor(@get:NotBlank @get:Size(min=3) @JsonProperty(value = "login", required = true) val login: String,
@get:NotBlank @JsonProperty(value = "password", required = true) val password: String){
companion object Factory{
operator fun invoke(login: String, password: String) = Login(login.trim(), password.trim())
}
}
invoke
val login = Login("login", "pass")