gpt4 book ai didi

scala - scala 是否支持 JSR-303 验证?

转载 作者:行者123 更新时间:2023-12-01 09:08:04 25 4
gpt4 key购买 nike

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 = _
}

请注意 msgs收藏是 java.util.List .它需要是 @NotEmpty 的 Java 集合。和 @Valid上类。但是很容易使用 JavaConverters 将该字段公开为 Scala 集合。 .

坏消息是您无法使用 Scala 创建 JSR-303 注释。您必须使用 Java 编写这些注释。因此,如果您想编写自定义 JSR-303 注释,则需要有一个混合的 Scala/Java 项目。

There is an old bug (错误 #32!)在 Scala 错误跟踪器中支持这些类型的注释,但它目前已关闭,因为不会修复。无论如何,请为它投票。

关于scala - scala 是否支持 JSR-303 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24284592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com