bean-validation-scala
rpscala 143回
!
2015/02/11
@s_tsuka
Shuya Tsukamoto
bean-validation-scala
• JSR 303のBean Validation
• Scala用に適当にラップ
• Option[String]とか検証可能
Bean Validation?
• 参考

Bean Validationを試してみる - CLOVER
• いわゆるPOJO(case classとか)にAnnotationを付
けてValidator.validate(obj)すると検証結果が得ら
れる
Bean ValidationはJava用
!
• Java用のライブラリ
!
• Scalaでも使えるけど・・・
"org.hibernate" % "hibernate-validator" % "5.1.3.Final",

"javax.validation" % "validation-api" % "1.1.0.Final",

"org.glassfish" % "javax.el" % "3.0.0"
検証対象のクラス例
• これは普通に動くけど
!
!
• これは動かない
case class Person(

@(Size@field)(min = 1)

name: String

)
case class Person(

@(Size@field)(min = 1)

name: Option[String]

)
エラーになる
HV000030: No validator could be found for type:
scala.Option<java.lang.String>.
javax.validation.UnexpectedTypeException: HV000030: No validator
could be found for type: scala.Option<java.lang.String>.
at
org.hibernate.validator.internal.engine.constraintvalidation.ConstraintVali
datorManager.verifyResolveWasUnique(ConstraintValidatorManager.java:
218)
!
(略)
Optionに対応した
bean-validation-scala
• コード

https://github.com/bean-validation-scala/
bean-validation-scala
• デモ
ありがとうございました

bean-validation-scala