Play Framework 2.5.xのScala版を利用して、プログラムを作っています。
Validation の処理で、わからないことがあり、質問させて頂きます。
入力チェックで、下記のような入力チェックを実装したいと考えています。
【チェック条件】
1.必須チェック
2.1の処理が通ったら、チェックAを実行
3.2の処理が通ったら、チェックBを実行
verifyingを利用して実装しようとしておりました。
想定では、
scala
1nonEmptyText.verifying("チェックA").verifying("チェックB")
と、記載すれば、上記の条件が満たされるのではないかと考えておりました。
しかし、実際には、verifyingに記載した内容は、全て実行されてしまいました。
そこで、現状下記のような記述をしております。
scala
1nonEmptyText 2 .verifying(!"必須チェック" || "チェックA") 3 .verifying(!"必須チェック" || !"チェックA" || "チェックB") 4 5例) 6 val userForm = Form( 7 mapping( 8 "userId" -> nonEmptyText 9 .verifying("No User Auth", bid => userId.isEmpty || db.auth(userId).isDefined) 10 )(UserForm.apply)(UserForm.unapply) 11 )
想定通りの動作はするのですが、非常に冗長的になってしまっています。
今まで、Java版を利用してプログラムを利用していたのですが、Java版の場合、validation メソッドの中に、
記述すれば、細かく記載できたのですが、Scala版の勝手がいまいちわかりません。
上記、条件が満たされるような Validationのシンプルな書き方があれば、
ご教授いただけないでしょうか?
お手数をおかけしますが、よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。