[hibernate-dev] On possible extensions for the validator

Hardy Ferentschik hibernate at ferentschik.de
Tue Oct 5 09:17:57 EDT 2010


Hi Frederico,

sorry for the late reply. I finally had some time to read through your  
paper.
I think there are strong similarities between you work and Hibernate  
Validator or
more specific the Bean Validation specification (JSR 303).

Property validation in the SHIP Validator is basically the same as in Bean  
Validation.
And what you call cross-annotations would be a class level validator in  
Bean Validation terms.

Bean Validation also offers constraint composition similar to what is  
described in your paper.
What Bean Validation does not offer is a boolean composition of the  
constraints. Here conjunction of
constraints is always assumed.

We are not able to do something like this:


@BoolTest(BoolType.OR)
@Null
@Max(10)
@Target({ METHOD, FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = { })
public @interface NullOrMax {
    public abstract String message() default "foo";
    public abstract Class<?>[] groups() default { };
    public abstract Class<? extends Payload>[] payload() default { };
    @OverridesAttribute(constraint = Max.class, name = "value")
    public abstract long max()
}

Also the ability to validate a subset of all properties from within a  
class level validator sounds interesting.

We could implement these features as Hibernate Validator specific  
extensions.
Are you interested in getting involved?


--Hardy


On Tue, 05 Oct 2010 09:48:15 +0200, Federico Mancini  
<mancini_federico at yahoo.it> wrote:

>   Hi again,
> I was just wondering whether I should interpret the lack of answers as
> "no, this is not interesting at all", or as "we have a lot of other
> things to do and do not have time for this right now"?
>
> Federico
>
> Den 22.09.2010 09:08, skrev Federico Mancini:
>>    Hi all,
>> I am new to the list and I am opening this thread on Emmanuel Bernard's
>> suggestion, in order to
>> discuss some possible extensions to the validator (jsr 303) I have been
>> working on with a couple of collegues.
>> Mainly it concerns the possibility to extend composition with boolean
>> operators (ex.: A field is either in the range 1-10 OR 20-30 AND
>> notNull)  and allow validation of sets of interdependent properties
>> (ex.: EITHER the name field is notNull OR the surname field is notNull/
>> AT LEAST 1 field must be filled/etc....).
>>
>> A description of the experimental framework we implemented can be found
>> here http://www.ii.uib.no/publikasjoner/texrap/pdf/2009-389.pdf , and
>> some further discussion on the choices we made here
>> http://www.ii.uib.no/~federico/papers/Annotations.pdf.
>>
>> I hope this might be of some interest for the Hybernate Validator  
>> project,
>> but, even if not, it would be nice to get some feedback.
>>
>> Thanks,
>> Federico Mancini
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev




More information about the hibernate-dev mailing list