2010-12-22 11 views
12

में मैंने देखा है कि @Constraint में validatedBy पैरामीटर के लिए सभी अंतर्निहित बाधाओं का खाली मूल्य है। यानी @Constraint(validatedBy = {})खाली मान्य @Constraint

सबसे पहले, उन्हें validatedBy के लिए खाली मूल्य क्यों होने की अनुमति है? मैंने सोचा कि आप इसे केवल बाधा संरचना के लिए खाली छोड़ सकते हैं जिसे अतिरिक्त सत्यापन की आवश्यकता नहीं है?

इसके अलावा, ध्यान दें कि हाइबरनेट सत्यापनकर्ता अब भी एक अंतर्निहित बाधा के लिए एक सत्यापनकर्ता कार्यान्वयन वर्ग पा सकते हैं के बावजूद validatedBy खाली है, लेकिन अगर मैं अपने बाधा के लिए validatedBy खाली छोड़ दें, अपने कस्टम सत्यापनकर्ता कभी नहीं उठाया जाता है। ऐसा क्यों है?

धन्यवाद।

+0

एक और कारण है कि मैं टी क्यों सोचता हूं अपने एपीआई त्रुटिपूर्ण –

+1

सिर्फ पूर्णता के लिए है, यह यहां उत्तर था: http://stackoverflow.com/questions/26544588/hibernate-validator-to-validate-constraints-if-constraintvalidated-by –

उत्तर

9

उन में निर्मित विशेष कार्यान्वयन-विशिष्ट तरीके से व्यवहार कर रहे हैं और उनके प्रमाणकों के प्रोग्राम के रूप में कॉन्फ़िगर किया गया है।

हाइबरनेट सत्यापनकर्ता के लिए यह ConstraintHelper.java में पूर्ण हो जाएगा। मुझे लगता है कि आप अपनी कस्टम बाधाओं के लिए इसे प्राप्त नहीं कर सकते हैं।

+0

धन्यवाद, इसलिए मैं नहीं छोड़ सकते मेरी बाधा के लिए मान्य है और हाइबरनेट वैलिडेटर को मेरे कस्टम सत्यापनकर्ता को लेने की उम्मीद है? –

+3

नहीं, आपको इसे खोजने के लिए हाइबरनेट के लिए एनोटेशन में अपना कस्टम सत्यापनकर्ता निर्दिष्ट करना होगा। – Guillaume

5

हो सकता है कि इस जवाब पर एक नजर है:

How to avoid cross dependency between layers because of @Constraint validatedBy?

और उन दो लिंक:

जोड़ना प्रोग्राम के रूप में की कमी: http://docs.jboss.org/hibernate/stable/validator/reference/en-US/html/validator-specifics.html#section-programmatic-api

एक्सएमएल प्रति जोड़ा जा रहा है की कमी: http://docs.jboss.org/hibernate/validator/4.1/reference/en-US/html/validator-xmlconfiguration.html

संबंधित मुद्दे