如何使用休眠验证器检查长度为 5 或 9?

发布于 2024-08-20 14:27:29 字数 115 浏览 6 评论 0原文

我可以使用如下注释来验证字符串的长度:

@Length(max = 255)

但是如果我想验证长度是 5 还是 9 怎么办?这可以通过注释来完成吗?

I can validate the length of a String with an annotation like:

@Length(max = 255)

But what if I want to verifiy that the length is either 5 or 9? Can this be done with an annotation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

_畞蕅 2024-08-27 14:27:29

尝试 @Pattern(regex=".{5}|.{9}") (如果您不想匹配所有内容,请将点更改为另一个字符类。

Try @Pattern(regex=".{5}|.{9}") (change the dot to another character class if you don't want to match everything.

莫多说 2024-08-27 14:27:29

这里是实现自定义约束的文档

这非常简单:

  1. 您使用适当的属性定义自己的注释
  2. 您定义将执行验证的类
  3. 您定义验证消息
  4. 您使用注释

所以也许您的注释可能如下所示:

@Constraint(validatedBy=YourChecker.class)
//other annotations
public @interface AllowedValues {
    int[] value();
}

Here's the documentation for implementing custom constraint.

It's fairly simple:

  1. You define your own annotation, with the appropriate attributes
  2. You define the class which will perform the validation
  3. You define validation messages
  4. You use the annotation

So perhaps your annotation might look like:

@Constraint(validatedBy=YourChecker.class)
//other annotations
public @interface AllowedValues {
    int[] value();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文