パスワードフィールドを英数字にするかどうかをチェックする必要があり、そうでない場合はカスタムをスローします検証エラー私はプレーフレームワークを使用していますが、コンパイル時エラーを受け取りますPlayFrameworkで指定されたフィールドが英数字かどうかを確認する方法
私は私がここで必要とする理由、それはそれだ間違ってやっている私の望ましい結果をachiveすることができませんvalue checkAlphanumeric is not a member of
play.api.libs.json.Reads[String]
- value checkAlphanumeric is not a member of
play.api.libs.json.Reads[String]
はコード
case class userUserSignUpValidation(firstName: String,
lastName: String,
email: String,
password: String) extends Serializable
object UserSignUpValidation {
val allNumbers = """\d*""".r
val allLetters = """[A-Za-z]*""".r
var validationErrorMsg=""
implicit val readDirectUser: Reads[DirectUserSignUpValidation] = (
(JsPath \ "firstName").read(minLength[String](1)) and
(JsPath \ "lastName").read(minLength[String](1)) and
(JsPath \ "email").read(email) and
(JsPath \ "password").read(minLength[String](8)checkAlphanumeric))(UserSignUpValidation.apply _)
def checkAlphanumeric(password:String)={
val allNumbers = """\d*""".r
val allLetters = """[A-Za-z]*""".r
val errors = password match {
case allNumbers() => Seq(ValidationError("Password is all numbers"))
case allLetters() => Seq(ValidationError("Password is all letters"))
case _ => Nil
}
}
私は、この行にエラーを取得していますです
(JsPath \ "password").read(minLength[String](8)checkAlphanumeric))(UserSignUpValidation.apply _)
あなたはケースクラス内での検証を実行しない理由
感謝:) – swaheed