<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">&lt;<a href="mailto:emmanuel@hibernate.org" target="_blank">emmanuel@hibernate.org</a>&gt;</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>
&gt; On 13 Jan 2017, at 15:54, Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt; wrote:<br>
&gt;<br>
&gt; I looked at that, and I’m not sure you are guaranteed to get an other.<br>
&gt; Plus you have this problem<br>
&gt;<br>
&gt; @Min<br>
&gt; @Min.List({@Min, @Min})<br>
&gt; @Min<br>
&gt; BooYahh foo;<br>
&gt;<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">
&gt;&gt; On 13 Jan 2017, at 15:22, Gunnar Morling &lt;<a href="mailto:gunnar@hibernate.org">gunnar@hibernate.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; As a variation of Matt&#39;s idea, an optional index() parameter could be added:<br>
&gt;&gt;<br>
&gt;&gt;   @Size(1)<br>
&gt;&gt;   @Size(3)<br>
&gt;&gt;   @ApplyConstraintTo(constraint=<wbr>Size.class, index=1, target=WRAPPED_VALUE)<br>
&gt;&gt;   List&lt;String&gt; nicknames;<br>
&gt;&gt;<br>
&gt;&gt; It could be omitted (via a default value of -1 or similar) if there is<br>
&gt;&gt; only one constraint of the type in question:<br>
&gt;&gt;<br>
&gt;&gt;   @NotNull<br>
&gt;&gt;   @Email<br>
&gt;&gt;   @ApplyConstraintTo(constraint=<wbr>NotNull.class, target=ANNOTATED_ELEMENT)<br>
&gt;&gt;   Optional&lt;String&gt; email;<br>
&gt;&gt;<br>
&gt;&gt; Does the trick, though it&#39;s still a tad verbose.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2017-01-13 14:58 GMT+01:00 Emmanuel Bernard &lt;<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>&gt;:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 13 Jan 2017, at 13:29, Guillaume Smet &lt;<a href="mailto:guillaume.smet@gmail.com">guillaume.smet@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Fri, Jan 13, 2017 at 1:01 PM, Gunnar Morling &lt;<a href="mailto:gunnar@hibernate.org">gunnar@hibernate.org</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Unfortunately, validationAppliesTo() is already taken:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; <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>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; It&#39;s used to distinguish between return value and cross-parameter<br>
&gt;&gt;&gt;&gt; constraints.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Any other name I can think of right now would make up for much<br>
&gt;&gt;&gt;&gt; confusion with that option.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Too good to be true :).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That being said, I&#39;m wondering if we could reuse it and just add 2 other<br>
&gt;&gt;&gt; values to ConstraintTarget. All in all, it&#39;s the same concept. The default<br>
&gt;&gt;&gt; being IMPLICIT is not too bad either.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Right I think it’s worth exploring.<br>
&gt;&gt;&gt; I still like my group repurposing trick though even if it offenses the clean<br>
&gt;&gt;&gt; camp :)<br>
&gt;&gt;&gt;<br></div></div></blockquote><div><br></div><div>I still can&#39;t figure out how you would use the group trick in conjunction with validation of a &quot;real&quot; 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">
&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt; beanvalidation-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
&gt;&gt;&gt; <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>
&gt;&gt;<br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; beanvalidation-dev mailing list<br>
&gt;&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
&gt;&gt; <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>
&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; beanvalidation-dev mailing list<br>
&gt; <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.<wbr>jboss.org</a><br>
&gt; <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>