<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 13, 2017 at 8:57 AM, Emmanuel Bernard <span dir="ltr"><<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">s/other/order from the JVM/<br>
<div class="gmail-HOEnZb"><div class="gmail-h5"><br>
> On 13 Jan 2017, at 15:54, Emmanuel Bernard <<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>> wrote:<br>
><br>
> I looked at that, and I’m not sure you are guaranteed to get an other.<br>
> Plus you have this problem<br>
><br>
> @Min<br>
> @Min.List({@Min, @Min})<br>
> @Min<br>
> BooYahh foo;<br>
><br></div></div></blockquote><div><br></div><div>I would have thought the same; however per [1] order is guaranteed. Your additional concern is still there. Maybe it would be cleaner to support this using meta-constraint annotations.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
>> On 13 Jan 2017, at 15:22, Gunnar Morling <<a href="mailto:gunnar@hibernate.org">gunnar@hibernate.org</a>> wrote:<br>
>><br>
>> As a variation of Matt's idea, an optional index() parameter could be added:<br>
>><br>
>> @Size(1)<br>
>> @Size(3)<br>
>> @ApplyConstraintTo(constraint=<wbr>Size.class, index=1, target=WRAPPED_VALUE)<br>
>> List<String> nicknames;<br>
>><br>
>> It could be omitted (via a default value of -1 or similar) if there is<br>
>> only one constraint of the type in question:<br>
>><br>
>> @NotNull<br>
>> @Email<br>
>> @ApplyConstraintTo(constraint=<wbr>NotNull.class, target=ANNOTATED_ELEMENT)<br>
>> Optional<String> email;<br>
>><br>
>> Does the trick, though it's still a tad verbose.<br>
>><br>
>><br>
>> 2017-01-13 14:58 GMT+01:00 Emmanuel Bernard <<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>>:<br>
>>><br>
>>> On 13 Jan 2017, at 13:29, Guillaume Smet <<a href="mailto:guillaume.smet@gmail.com">guillaume.smet@gmail.com</a>> wrote:<br>
>>><br>
>>> On Fri, Jan 13, 2017 at 1:01 PM, Gunnar Morling <<a href="mailto:gunnar@hibernate.org">gunnar@hibernate.org</a>><br>
>>> wrote:<br>
>>>><br>
>>>> Unfortunately, validationAppliesTo() is already taken:<br>
>>>><br>
>>>> <a href="http://beanvalidation.org/latest-draft/spec/#constraintsdefinitionimplementation-constraintdefinition-validationappliesto" rel="noreferrer" target="_blank">http://beanvalidation.org/<wbr>latest-draft/spec/#<wbr>constraintsdefinitionimplement<wbr>ation-constraintdefinition-<wbr>validationappliesto</a><br>
>>>><br>
>>>> It's used to distinguish between return value and cross-parameter<br>
>>>> constraints.<br>
>>>><br>
>>>> Any other name I can think of right now would make up for much<br>
>>>> confusion with that option.<br>
>>><br>
>>><br>
>>> Too good to be true :).<br>
>>><br>
>>> That being said, I'm wondering if we could reuse it and just add 2 other<br>
>>> values to ConstraintTarget. All in all, it's the same concept. The default<br>
>>> being IMPLICIT is not too bad either.<br>
>>><br>
>>><br>
>>> Right I think it’s worth exploring.<br>
>>> I still like my group repurposing trick though even if it offenses the clean<br>
>>> camp :)<br>
>>><br></div></div></blockquote><div><br></div><div>I still can't figure out how you would use the group trick in conjunction with validation of a "real" group.</div><div><br></div><div>Matt</div><div><br></div><div>[1] <a href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.7.5">http://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.7.5</a></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail-HOEnZb"><div class="gmail-h5">
>>> ______________________________<wbr>_________________<br>
>>> beanvalidation-dev mailing list<br>
>>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
>>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/<wbr>beanvalidation-dev</a><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> beanvalidation-dev mailing list<br>
>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/<wbr>beanvalidation-dev</a><br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> beanvalidation-dev mailing list<br>
> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/<wbr>beanvalidation-dev</a><br>
<br>
<br>
______________________________<wbr>_________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/<wbr>beanvalidation-dev</a></div></div></blockquote></div><br></div></div>