जावा में डेटा सत्यापन: उपकरणों और लाइब्रेरीज़ का अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावा में डेटा सत्यापन: उपकरणों और लाइब्रेरीज़ का अवलोकन



डेटा सत्यापन (शुद्धता की जाँच) किसी भी एप्लिकेशन के विकास के प्रमुख चरणों में से एक है। विश्वसनीय इनपुट डेटा जाँच के बिना, एप्लिकेशन त्रुटियों, गलत व्यवहार और हमलों के प्रति संवेदनशील हो जाता है। जावा में कई सिद्ध दृष्टिकोण और लाइब्रेरीज़ मौजूद हैं जो सत्यापन को तेज़ी से, लचीले ढंग से और न्यूनतम बॉयलरप्लेट कोड के साथ लागू करने की अनुमति देते हैं।



इस लेख में, हम जावा में डेटा सत्यापन के लिए मुख्य उपकरणों पर विचार करेंगे: Bean Validation (Jakarta Validation) मानक, इसका सबसे लोकप्रिय कार्यान्वयन Hibernate Validator, और एक विकल्प — Apache Commons Validator। सरल मामलों के लिए मैन्युअल सत्यापन पर भी अलग से चर्चा करेंगे।



1. Bean Validation (Jakarta Validation) मानक



Bean Validation (पहले JSR 380, अब Jakarta Validation) एक विशिष्टता है जो जावा ऑब्जेक्ट्स के घोषणात्मक सत्यापन के लिए एनोटेशन का एक सेट परिभाषित करती है। मुख्य विचार: आप क्लास के फ़ील्ड में एनोटेशन के माध्यम से सीधे जाँच के नियमों का वर्णन करते हैं, और सत्यापन इंजन स्वचालित रूप से उनकी जाँच करता है।



मुख्य एनोटेशन



  • @NotNull — मान null नहीं होना चाहिए।
  • @NotEmpty — स्ट्रिंग, कलेक्शन या ऐरे खाली नहीं होना चाहिए (और null भी नहीं)।
  • @NotBlank — स्ट्रिंग खाली या केवल स्पेस से बनी नहीं होनी चाहिए।
  • @Size(min, max) — स्ट्रिंग की लंबाई, कलेक्शन या ऐरे के आकार की सीमा।
  • @Min / @Max — संख्यात्मक सीमाएँ।
  • @Pattern(regexp = "...") — रेगुलर एक्सप्रेशन द्वारा जाँच।
  • @Email — ईमेल पते के प्रारूप की जाँच।


उपयोग का उदाहरण



import jakarta.validation.constraints.*;

public class User { @NotBlank(message = "नाम खाली नहीं हो सकता") @Size(min = 2, max = 50) private String name;

@Email(message = "गलत ईमेल") @NotNull private String email;

@Min(18) @Max(120) private int age;

// गेटर्स और सेटर्स}


सत्यापन चलाने के लिए Validator ऑब्जेक्ट का उपयोग किया जाता है:



import jakarta.validation.*;import java.util.Set;

public class ValidationExample { public static void main(String[] args) { ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator();

User user = new User(); user.setName("A"); user.setEmail("invalid-email"); user.setAge(10);

Set<ConstraintViolation<User>> violations = validator.validate(user); for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage()); } }}


2. Hibernate Validator — मानक का कार्यान्वयन



Hibernate Validator Bean Validation विशिष्टता का संदर्भ कार्यान्वयन है। यह Jakarta Validation के सभी एनोटेशन का पूरी तरह से समर्थन करता है और अपने स्वयं के एक्सटेंशन जोड़ता है, जैसे @URL, @CreditCardNumber, @ISBN और अन्य।



अतिरिक्त क्षमताएँ

  • कस्टम वैलिडेटर — आप अपने स्वयं के एनोटेशन और जाँच तर्क बना सकते हैं।
  • सत्यापन समूह — संदर्भ के आधार पर नियमों के विभिन्न सेटों की जाँच करें (उदाहरण के लिए, निर्माण बनाम अद्यतन)।
  • Spring Boot, Java EE / Jakarta EE के साथ बॉक्स से बाहर एकीकरण।


कस्टम वैलिडेटर का उदाहरण



import jakarta.validation.Constraint;import jakarta.validation.Payload;import java.lang.annotation.*;

@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Constraint(validatedBy = PhoneValidator.class)public @interface ValidPhone { String message() default "गलत

अनुशंसाएँ