[hibernate-dev] On possible extensions for the validator

Federico Mancini mancini_federico at yahoo.it
Tue Oct 5 09:49:06 EDT 2010


  Hi and thank you for your answer.

I am aware that our work is extremely similar to the jsr 303,
and that is exactly why I wanted to show it to you.
It just happened that we independently developed similar solutions for 
the same problem, but
when we saw the specs for the jsr 303, we realized that it would not 
make sense to continue
  since a much better version of the same thing was already up and going 
in Hibernate.

However we have spent a good amount of time and effort on our validator, 
and it would be great if some of our ideas could be
picked up by the Hibernate Validator rather than just watch them go to 
waste.

Therefore I am very happy that you find some of it of interest, and of 
course
I would like to get involved and contribute as I can.

Unfortunatly I am not familiar with the Hibernate Validator code (I only 
read the jsr specs) or
how you guys work, so I would not
know where to start, but if you give my some time (I am also working on 
some other project right now) and guidelines I will be
happy to help.

Thanks again for the reply,
Federico

Den 05.10.2010 15:17, skrev Hardy Ferentschik:
> 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