scala
libraryDependencies += "javax.validation" % "validation-api" % "2.0.1.Final"
libraryDependencies += "org.hibernate.validator" % "hibernate-validator" % "6.2.0.Final"
libraryDependencies += "javax.el" % "javax.el-api" % "3.0.0"
libraryDependencies += "org.glassfish" % "javax.el" % "3.0.0"
scala
import javax.validation.constraints.{Min, NotEmpty}
class User {
var username: String = _
var age: Int = _
}
scala
import javax.validation.Validation
import scala.jdk.CollectionConverters._
object Validator {
private val validator = Validation.buildDefaultValidatorFactory().getValidator
def validate(bean: Any): Set[String] = {
val violations = validator.validate(bean).asScala
violations.map(_.getMessage).toSet
}
}
scala
val user = new User()
user.username = "John"
user.age = 16
val errors = Validator.validate(user)
if (errors.isEmpty) {
} else {
errors.foreach(println)
}