如何用hibernate验证器检查长度为5或9?

时间:2010-02-05 20:11:56

标签: java hibernate validation annotations hibernate-validator

我可以使用注释来验证String的长度,如:

@Length(max = 255)

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

Here's the documentation for implementing custom constraint

这很简单:

  1. 您可以使用适当的属性
  2. 定义自己的注释
  3. 您定义将执行验证的类
  4. 您定义验证消息
  5. 您使用注释
  6. 所以也许您的注释可能如下所示:

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