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

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

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

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

जावा में डेटा सत्यापन: लाइब्रेरी और टूल्स के लिए पूर्ण मार्गदर्शिका



डेटा सत्यापन विश्वसनीय जावा एप्लिकेशन विकसित करने के प्रमुख पहलुओं में से एक है। इसके बिना, इनपुट डेटा की सटीकता, उपयोगकर्ता के गलत इनपुट से सुरक्षा, या बाहरी सिस्टम के साथ एकीकरण में त्रुटियों की गारंटी देना असंभव है। इस लेख में, हम मानक Bean Validation से लेकर आधुनिक समाधानों तक, जावा में डेटा सत्यापन के लिए मुख्य लाइब्रेरी और दृष्टिकोणों पर चर्चा करेंगे।



सत्यापन की आवश्यकता क्यों है?

सत्यापन निम्नलिखित की अनुमति देता है:

  • प्रारंभिक चरण में गलत डेटा को छांटना
  • व्यावसायिक तर्क में त्रुटियों की संख्या कम करना
  • एप्लिकेशन सुरक्षा बढ़ाना (SQL-इंजेक्शन, XSS से सुरक्षा)
  • उपयोगकर्ता अनुभव में सुधार (स्पष्ट त्रुटि संदेश)


1. Jakarta Bean Validation (पूर्व में JSR 380)

यह एनोटेशन का उपयोग करके ऑब्जेक्ट को मान्य करने के लिए जावा मानक है। मुख्य कार्यान्वयन Hibernate Validator है। Jakarta EE 9 और Java SE 8+ से समर्थित है।



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

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


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

import jakarta.validation.constraints.*;

public class User { @NotNull(message = "नाम null नहीं हो सकता") @Size(min = 2, max = 50, message = "नाम में 2 से 50 वर्ण होने चाहिए") private String name;

@Email(message = "ईमेल का गलत प्रारूप") @NotEmpty(message = "ईमेल अनिवार्य है") private String email;

@Min(value = 18, message = "आयु कम से कम 18 होनी चाहिए") @Max(value = 120, message = "आयु 120 से अधिक नहीं हो सकती") private int age;

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


सत्यापन चलाना

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(15); // 18 से कम

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


2. Hibernate Validator — विस्तारित कार्यान्वयन

Hibernate Validator Bean Validation का संदर्भ कार्यान्वयन है। यह अतिरिक्त क्षमताएँ जोड़ता है:

  • कस्टम सत्यापन एनोटेशन
  • सत्यापन समूह (विभिन्न परिदृश्यों के लिए)
  • जटिल जांच के लिए @ScriptAssert का समर्थन


कस्टम एनोटेशन का उदाहरण

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

@Target({ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)@Constraint(validatedBy = PasswordValidator.class)public @interface ValidPassword { String message() default "पासवर्ड में अक्षर और अंक होने चाहिए"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {};}


public class PasswordValidator implements ConstraintValidator<ValidPassword, String> {    @Override    public boolean isValid(String value, ConstraintValidatorContext context) {        if (value == null) return false;        return value.matc                    

अनुशंसाएँ