@Required
एक कस्टम JSR-303 एनोटेशन है, जो प्ले फ्रेमवर्क के भीतर बनाया गया है। जेएसआर -303 जावबीन्स के सत्यापन के लिए एक विनिर्देश है, जो यह सुनिश्चित करने के लिए अनुमति देता है कि दिए गए जावा बीन के मान बाधाओं के सेट के भीतर आते हैं। कुछ मानक सत्यापन एनोटेशन के उदाहरण:
- @Max - एनोटेट तत्व एक नंबर जिसका मूल्य कम या निर्दिष्ट अधिकतम के बराबर होना चाहिए होना चाहिए।
- @Min - एनोटेटेड तत्व एक संख्या होना चाहिए जिसका मूल्य निर्दिष्ट न्यूनतम के बराबर या बराबर होना चाहिए।
- @NotNull - एनोटेटेड तत्व शून्य नहीं होना चाहिए।
प्रत्येक JSR-303 एनोटेशन समूहों, जहां प्रत्येक समूह वास्तव में सिर्फ एक वर्ग है परिभाषित करने के लिए अनुमति दी है। इन समूहों का उपयोग किसी दिए गए बीन के सत्यापन के सबसेट को निष्पादित करने के लिए किया जा सकता है। आपके विशेष उदाहरण में, कार्यान्वयनकर्ताओं ने इन समूहों का प्रतिनिधित्व करने के लिए दो इंटरफेस परिभाषित किए हैं - All
और Step1
। फिर वे समूह को मान्यताओं एनोटेशन में जोड़ते हैं, यह इंगित करने के लिए कि वे मान्यताओं समूह से संबंधित हैं। तो नीचे वर्ग के लिए:
validator.validate(bean, All.class);
जबकि निम्नलिखित (username
क्षेत्र के लिए) केवल @Required
सत्यापन निष्पादित करेंगे:
public class MyBean {
@Required(groups = {All.class, Step1.class})
@MinLength(value = 4, groups = {All.class})
public String username;
}
MyBean bean = new MyBean();
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
निम्नलिखित @Required
और @MinLength
सत्यापन username
क्षेत्र के लिए निष्पादित करेंगे:
validator.validate(bean, Step1.class);
धन्यवाद, यह बहुत उपयोगी था। – vinos