+1<div><br></div><div>regards,</div><div>gerhard<br clear="all"><br><br><br><div class="gmail_quote">2011/12/2 Gunnar Morling <span dir="ltr"><<a href="mailto:gunnar.morling@googlemail.com">gunnar.morling@googlemail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Yes, I see. I'm not really sure, what we can do about this except<br>
making this very clear in the spec/documentation.<br>
<br>
After all it's the same thing with "normal" constraints, such as<br>
property constraints. Only adding a constraint to a property doesn't<br>
cause it to be validated automatically.<br>
<br>
Or did you have something else in mind?<br>
<br>
<br>
2011/12/1 Emmanuel Bernard <<a href="mailto:emmanuel@hibernate.org">emmanuel@hibernate.org</a>>:<br>
<div><div></div><div class="h5">> Yes. That concerns me a bit to be honest especially when more technologies will offer BV integrations. We need to think this through before opening pandora's box even more :)<br>
><br>
> On 1 déc. 2011, at 21:48, Sebastian Thomschke <<a href="mailto:sebastian.thomschke@web.de">sebastian.thomschke@web.de</a>> wrote:<br>
><br>
>> Ok gotcha.Maybe we should make it clear in the specs that adding<br>
>> parameter constraints does not necessarily mean when such a<br>
>> constructor/method is invoked from somewhere in unmanaged code that an<br>
>> instant validation will happen, but that the time of validation and if a<br>
>> validation happens at all depends on the validator implementation.<br>
>><br>
>> Regards,<br>
>> Seb<br>
>><br>
>> On 01.12.2011 21:32, Gunnar Morling wrote:<br>
>>> Hi Sebastian,<br>
>>><br>
>>> is this really something which we should consider in BV?<br>
>>><br>
>>>> From my point of view we should only provide an API for<br>
>>> method/constructor validation (by adding<br>
>>> Validator#validateMethodParameters() for instance), but we shouldn't<br>
>>> provide a trigger/hook executing this validation. I'd see this as the<br>
>>> responsibility of technologies integrating with BV (similar to the<br>
>>> existing validate() methods which are invoked by JSF/JPA if<br>
>>> applicable).<br>
>>><br>
>>> So whether method validation is triggered via a proxy, CDI/Spring AOP<br>
>>> interceptor etc. should be transparent for BV IMO.<br>
>>><br>
>>> I wasn't sure about whether there is an actual need for constructor<br>
>>> validation, but Emmanuel's answer about JAX-RS confirmed that need :)<br>
>>><br>
>>> --Gunnar<br>
>>><br>
>>><br>
>>> 2011/12/1 Sebastian Thomschke<<a href="mailto:sebastian.thomschke@web.de">sebastian.thomschke@web.de</a>>:<br>
>>>> Supporting constructor parameter validation as well as validation of<br>
>>>> parameters of methods not part of an interface requires some sort of<br>
>>>> byte code enhancements and cannot be done via JDK proxying.<br>
>>>> So if we find a sufficient solution how to achieve method parameter<br>
>>>> validation without JDK proxies I do not see why we should not support<br>
>>>> constructor parameter validation too.<br>
>>>><br>
>>>> Regards,<br>
>>>> Seb<br>
>>>><br>
>>>> On 30.11.2011 19:59, Gunnar Morling wrote:<br>
>>>>> Hi experts,<br>
>>>>><br>
>>>>> Emmanuel asked me to take the lead on the method validation feature,<br>
>>>>> so be prepared for related questions, API proposals and requests for<br>
>>>>> feedback via the mailing list :)<br>
>>>>><br>
>>>>> The first issue I'd like to discuss is the validation of constructor<br>
>>>>> arguments. Is this something which we want to support at all? I don't<br>
>>>>> think there are that many interception solutions which enable<br>
>>>>> constructor interception at all (for instance CDI interceptors don't,<br>
>>>>> AFAIK).<br>
>>>>><br>
>>>>> So personally I'd be fine with focussing on actual method validation<br>
>>>>> in BV 1.1, waiting for user demand for constructor validation and<br>
>>>>> adding it possibly in a later release. WDYT?<br>
>>>>><br>
>>>>> If we decide to include constructor validation, should we support the<br>
>>>>> validation of newly created objects (similar to return value<br>
>>>>> validation), e.g. like that:<br>
>>>>><br>
>>>>> public class Foo {<br>
>>>>><br>
>>>>> @Valid<br>
>>>>> public Foo() {<br>
>>>>><br>
>>>>> }<br>
>>>>><br>
>>>>> }<br>
>>>>><br>
>>>>> Here @Valid would trigger a validation of the newly instantiated Foo<br>
>>>>> object (whether to use @Valid or another annotation still needs to be<br>
>>>>> discussed). Any thoughts?<br>
>>>>><br>
>>>>> --Gunnar<br>
>>>>> _______________________________________________<br>
>>>>> beanvalidation-dev mailing list<br>
>>>>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
>>>>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
>>>> _______________________________________________<br>
>>>> beanvalidation-dev mailing list<br>
>>>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
>>>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
>>> _______________________________________________<br>
>>> beanvalidation-dev mailing list<br>
>>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
>>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
>><br>
>> _______________________________________________<br>
>> beanvalidation-dev mailing list<br>
>> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
>> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
><br>
> _______________________________________________<br>
> beanvalidation-dev mailing list<br>
> <a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
<br>
_______________________________________________<br>
beanvalidation-dev mailing list<br>
<a href="mailto:beanvalidation-dev@lists.jboss.org">beanvalidation-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/beanvalidation-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/beanvalidation-dev</a><br>
</div></div></blockquote></div><br></div>