Che*_*rry 3 scala bean-validation
scala是否支持JSR-303验证?
如果是的话 - 你能写一个例子吗?
如果没有 - 是否有在scala类上运行JSR-303验证的变通方法?
有好消息和坏消息.
好消息是您可以在Scala代码中使用JSR-303注释而没有任何问题.
以下是我之前项目的一个示例,其中所有注释都是JSR-303注释,其中一些是开箱即用的,其中一些是自定义的.
@MessagesValid
class Messages {
@NotEmpty @Valid
private var msgs: java.util.List[DeliveredMessage] = _
def messages = msgs.asScala
@ChannelValid
var channel: String = _
var emailFrom: String = _
var emailReplyTo: String = _
@PublishAtValid
var publishAt: String = _
}
Run Code Online (Sandbox Code Playgroud)
注意msgs集合是如何的java.util.List.它需要一个Java集合的@NotEmpty和@Valid工作.但是很容易将该字段暴露为Scala集合JavaConverters.
坏消息是您无法使用Scala创建JSR-303注释.您必须使用Java编写这些注释.因此,如果要编写自定义JSR-303注释,则需要具有混合Scala/Java项目.
Scala错误跟踪器中存在一个旧错误(错误#32!)以支持这些类型的注释,但它目前已关闭,因为无法修复.无论如何,请投票.
| 归档时间: |
|
| 查看次数: |
1005 次 |
| 最近记录: |