बीन वैलिडेशन क्या है?
Bean Validation (Jakarta Bean Validation विनिर्देश, पहले JSR 380) Java अनुप्रयोगों में डेटा सत्यापन के लिए एक मानक फ्रेमवर्क है। यह एनोटेशन के माध्यम से फ़ील्ड, विधियों और कक्षाओं के लिए सत्यापन नियमों को घोषणात्मक रूप से वर्णित करने की अनुमति देता है। सबसे लोकप्रिय कार्यान्वयन Hibernate Validator है।
सत्यापन की आवश्यकता क्यों है?
उपयोगकर्ता इनपुट के साथ काम करने वाले किसी भी एप्लिकेशन में, डेटा की जांच करना आवश्यक है: क्या स्ट्रिंग खाली है, क्या संख्या सीमा में आती है, क्या ईमेल सही है। if-else का उपयोग करके मैन्युअल जाँच कोड को बोझिल और बनाए रखने में कठिन बना देती है। Bean Validation सत्यापन तर्क को एनोटेशन में रखकर और त्रुटियों के एकसमान प्रसंस्करण को सुनिश्चित करके इस समस्या का समाधान करता है।
कैसे स्थापित करें
यदि आप Maven का उपयोग कर रहे हैं, तो pom.xml में जोड़ें:
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>8.0.1.Final</version></dependency>Gradle के लिए:
implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final'Spring Boot में सत्यापन पहले से स्थापित है।
मुख्य कार्य
- मानक एनोटेशन: @NotNull, @Size, @Min, @Max, @Email, @Pattern, @Positive, @NotBlank और अन्य।
- सत्यापन समूह: संदर्भ के आधार पर अलग-अलग नियम लागू करने की अनुमति देते हैं (जैसे, निर्माण बनाम अद्यतन)।
- कस्टम वैलिडेटर: आप अपना स्वयं का एनोटेशन बना सकते हैं और सत्यापन तर्क लिख सकते हैं।
- विधि पैरामीटर का सत्यापन: तर्कों और वापसी मानों की जाँच।
Java में कोड उदाहरण
import jakarta.validation.constraints.*;import jakarta.validation.*;
public class User { @NotBlank(message = "नाम खाली नहीं हो सकता") private String name;
@Email(message = "अमान्य ईमेल") private String email;
@Min(18) @Max(120) private int age;
// गेटर और सेटर}
// उपयोगValidatorFactory factory = Validation.buildDefaultValidatorFactory();Validator validator = factory.getValidator();
User user = new User();user.setEmail("invalid");
Set<ConstraintViolation<User>> violations = validator.validate(user);for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage());}कब उपयोग करें
Bean Validation का उपयोग REST API (Spring Boot, Jakarta EE), वेब फॉर्म, DTO ऑब्जेक्ट और डेटाबेस के साथ काम करते समय किया जाता है। यह अपरिहार्य है यदि आप डेटा को सहेजने से पहले Java कोड स्तर पर डेटा अखंडता सुनिश्चित करना चाहते हैं। उन सभी परियोजनाओं के लिए अनुशंसित जहां उपयोगकर्ता इनपुट या बाहरी सिस्टम के साथ एकीकरण है।