java bean 数组_使用Java Bean验证来验证String数组的元素

我有一个简单的类,其属性之一为String数组。根据本文档,在数组,集合等上使用@Valid将递归地验证数组/集合的每个元素。

@Valid

@Pattern(regexp="^[_ A-Za-z0-9]+$")

public String[] defaultAppAdminRoles;

上面对属性的注释生成以下异常:

Exception in thread "main" javax.validation.UnexpectedTypeException: No validator could be found for type java.lang.String[]. See: @Pattern at public java.lang.String[] com.hm.vigil.platform.ops.model.Application.defaultAppAdminRoles

at org.apache.bval.jsr303.AnnotationProcessor.checkOneType(AnnotationProcessor.java:326)

at org.apache.bval.jsr303.AnnotationProcessor.getConstraintValidator(AnnotationProcessor.java:301)

at org.apache.bval.jsr303.AnnotationProcessor.applyConstraint(AnnotationProcessor.java:241)

at org.apache.bval.jsr303.AnnotationProcessor.processAnnotation(AnnotationProcessor.java:149)

at org.apache.bval.jsr303.AnnotationProcessor.processAnnotations(AnnotationProcessor.java:90)

at org.apache.bval.jsr303.Jsr303MetaBeanFactory.processClass(Jsr303MetaBeanFactory.java:134)

at org.apache.bval.jsr303.Jsr303MetaBeanFactory.buildMetaBean(Jsr303MetaBeanFactory.java:95)

at org.apache.bval.MetaBeanBuilder.buildForClass(MetaBeanBuilder.java:131)

at org.apache.bval.MetaBeanManager.findForClass(MetaBeanManager.java:102)

at org.apache.bval.jsr303.ClassValidator.validate(ClassValidator.java:140)

at com.hm.vigil.platform.commons.AbstractValidatable.isValid(AbstractValidatable.java:33)

at com.hm.vigil.platform.ops.model.Application.main(Application.java:54)

我正在使用Apache BVal作为验证提供程序。

问题是,上述方法正确吗?

如果不正确,那么使用bean验证来验证数组/集合的正确方法是什么?

如果正确,那么它对Apache BVal有一些限制吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值