के लिए कस्टम कॉन्स्ट्रेनट वैलिडेटर पंजीकृत करें मैं अपने प्रोजेक्ट में बीन-सत्यापन का उपयोग करता हूं और मैं मौजूदा बाधा एनोटेशन के लिए एक कस्टम सत्यापनकर्ता लिखना चाहता हूं।मौजूदा बाधा
उदाहरण के लिए मेरे पास एक कक्षा है जो CustomDateTime
नाम की दिनांक/समय का प्रतिनिधित्व करती है। एक वर्ग के उदाहरण जन्म दिनांक मैं @Past
के साथ मैदान पर टिप्पणी करना चाहते हैं के लिए के रूप में इस वर्ग का उपयोग करता है में:
public class Person
{
@Past
private CustomDateTime dateOfBirth;
}
मैं तो ConstraintValidator<Past, CustomDateTime>
को लागू करने से एक कस्टम सत्यापनकर्ता पैदा करते हैं। हालांकि यह काम नहीं करता है, क्योंकि सत्यापन कार्यान्वयन को कस्टम सत्यापनकर्ता का कोई ज्ञान नहीं है। यह तब फेंकता है: javax.validation.UnexpectedTypeException: No validator could be found for type: com.example.CustomDateTime
।
मुझे पता है कि आप आमतौर पर इस तरह एक अलग एनोटेशन बनाएं:
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {CustomDateTimePastValidator.class})
public @interface Past
{
....
}
लेकिन वह मेरे लिए डबल कोड की तरह लगता है ;-)
मैं कस्टम सत्यापनकर्ता रजिस्टर कैसे कर सकते हैं @Past
साथ प्रयोग किया जा करने के लिए ?
@ siebz0r क्या यह आपके लिए काम करता है? –