hibernate - JPA Validation of Email String Collection -
i have list of string in bean. these strings email , validate them.
@email @elementcollection(fetch = fetchtype.lazy) @ordercolumn private list<string> emails = new arraylist<string>(); at execution, got error:
caused by: javax.validation.unexpectedtypeexception: hv000030: no validator found type: java.util.list<java.lang.string>. @ org.hibernate.validator.internal.engine.constraintvalidation.constraintvalidatormanager.verifyresolvewasunique(constraintvalidatormanager.java:218) @ org.hibernate.validator.internal.engine.constraintvalidation.constraintvalidatormanager.findmatchingvalidatorclass(constraintvalidatormanager.java:193) @ org.hibernate.validator.internal.engine.constraintvalidation.constraintvalidatormanager.getinitializedvalidator(constraintvalidatormanager.java:97) @ org.hibernate.validator.internal.engine.constraintvalidation.constrainttree.validateconstraints(constrainttree.java:125) @ org.hibernate.validator.internal.engine.constraintvalidation.constrainttree.validatecomposingconstraints(constrainttree.java:233) @ org.hibernate.validator.internal.engine.constraintvalidation.constrainttree.validateconstraints(constrainttree.java:102) @ org.hibernate.validator.internal.engine.constraintvalidation.constrainttree.validateconstraints(constrainttree.java:91) @ org.hibernate.validator.internal.metadata.core.metaconstraint.validateconstraint(metaconstraint.java:83) @ org.hibernate.validator.internal.engine.validatorimpl.validateconstraint(validatorimpl.java:547) ... what correct way of doing this? or there other ways this?
implementing additional constraint validator @email validating collections suggested here 1 way of doing it. note, might have problems generating right property paths in case constraint violation. see hv-264.
if using java 8, use latest hibernate validator release (5.2.x) supports java 8 type level annotations. can write list<@email string>. in case, however, need create own @email constraint annotation , make sure @target contains elementtype.type_use. see hibernate validator docs.
the next version of bean validation (2.0) align java 8. provided constraints have elementtype.type_use , can used out of box. see bval-202.
Comments
Post a Comment