Boon JSON পার্সিং লাইব্রেরি ব্যবহার করে ডেটার জন্য কাস্টম ভ্যালিডেশন রুলস সেট করা সম্ভব, যা নিশ্চিত করে যে JSON ডেটা একটি নির্দিষ্ট কাঠামো এবং শর্ত অনুসারে থাকে। JSON ডেটা বৈধ কিনা তা যাচাই করতে বিভিন্ন ভ্যালিডেশন মেকানিজম ব্যবহার করা যেতে পারে, যেমন ম্যানুয়াল ভ্যালিডেশন, কাস্টম রুলস, বা শর্তভিত্তিক পরীক্ষা। এই প্রক্রিয়া অ্যাপ্লিকেশন ডেটার স্বচ্ছতা এবং সঠিকতা নিশ্চিত করতে সহায়ক হয়।
Boon সরাসরি JSON ভ্যালিডেশন এর জন্য কোন বিশেষ API সরবরাহ না করলেও, Java এর অন্যান্য ফিচার এবং Boon এর পার্সিং ক্ষমতা ব্যবহার করে আপনি কাস্টম ভ্যালিডেশন রুলস তৈরি করতে পারেন।
Boon এর JSON ডেটার জন্য ভ্যালিডেশন রুলস সেট করার উপায়
Boon এর JSON পার্সিং ব্যবস্থার মধ্যে কাস্টম ভ্যালিডেশন রুলস সেট করার জন্য, আপনাকে JSON ডেটা লোড করার পর সেই ডেটার বিভিন্ন অংশের উপর শর্তাবলী প্রয়োগ করতে হবে। এখানে কিভাবে JSON ডেটা ভ্যালিডেশন করতে হয়, সে সম্পর্কে কিছু উদাহরণ দেওয়া হলো।
1. বেসিক JSON ভ্যালিডেশন উদাহরণ
এখানে একটি উদাহরণ দেয়া হলো যেখানে Boon ব্যবহার করে JSON ডেটা পার্স করা হয়েছে এবং তারপর কিছু সিম্পল ভ্যালিডেশন করা হয়েছে।
JSON ফাইল (config.json)
{
"username": "john_doe",
"age": 28,
"email": "john.doe@example.com"
}
Java কোড: JSON ভ্যালিডেশন
import boon.JSONFactory;
import java.util.regex.Pattern;
public class JsonValidationExample {
public static void main(String[] args) {
// JSON ফাইল থেকে ডেটা লোড করা
String json = "{\"username\":\"john_doe\", \"age\":28, \"email\":\"john.doe@example.com\"}";
// JSON অবজেক্টে ডেটা লোড করা
Person person = JSONFactory.fromJson(json, Person.class);
// ভ্যালিডেশন চেক করা
if (validatePerson(person)) {
System.out.println("Valid person data!");
} else {
System.out.println("Invalid person data.");
}
}
// ভ্যালিডেশন রুলস সেট করা
public static boolean validatePerson(Person person) {
if (person.username == null || person.username.isEmpty()) {
System.out.println("Username is required.");
return false;
}
if (person.age <= 0 || person.age > 120) {
System.out.println("Invalid age.");
return false;
}
if (!isValidEmail(person.email)) {
System.out.println("Invalid email.");
return false;
}
return true;
}
// ইমেইল ভ্যালিডেশন
public static boolean isValidEmail(String email) {
String emailRegex = "^[A-Za-z0-9+_.-]+@(.+)$";
Pattern pattern = Pattern.compile(emailRegex);
return pattern.matcher(email).matches();
}
}
// Person ক্লাস
class Person {
String username;
int age;
String email;
}
ব্যাখ্যা:
- কাস্টম ভ্যালিডেশন:
validatePerson()মেথডে কিছু শর্ত দেওয়া হয়েছে, যেমনusernameফিল্ডটি ফাঁকা হতে পারবে না,age0 বা 120 এর বাইরে হতে পারবে না, এবংemailফিল্ডটি একটি সঠিক ফরম্যাটে থাকতে হবে।
- ইমেইল ভ্যালিডেশন:
isValidEmail()মেথডে একটি সাধারন রেগুলার এক্সপ্রেশন ব্যবহার করা হয়েছে যা ইমেইল ফরম্যাট যাচাই করে।
- ভ্যালিডেশন ফলাফল:
- যদি সব শর্ত পূর্ণ হয়, তাহলে "Valid person data!" মেসেজটি প্রিন্ট হবে, অন্যথায় কোনো একটি শর্ত ভাঙলে সংশ্লিষ্ট ত্রুটি বার্তা প্রিন্ট হবে।
2. JSON ডেটা অবজেক্টের উপর কাস্টম কনস্ট্রেইন্টস প্রয়োগ
Boon এ JSON ডেটার প্রতিটি ফিল্ডে কাস্টম কনস্ট্রেইন্টস (যেমন ম্যান্ডেটরি, রেঞ্জ চেক, বা প্যাটার্ন চেক) প্রয়োগ করার জন্য আপনি কাস্টম লজিক ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনি age ফিল্ডের জন্য একটি রেঞ্জ চেক বা username ফিল্ডের জন্য আলফানিউমেরিক চেক প্রয়োগ করতে পারেন।
উদাহরণ: কাস্টম কনস্ট্রেইন্টস
public static boolean validateUsername(String username) {
if (username == null || username.length() < 5) {
System.out.println("Username must be at least 5 characters long.");
return false;
}
return true;
}
এখানে, username ফিল্ডের জন্য একটি কাস্টম কনস্ট্রেইন্ট যোগ করা হয়েছে যা নিশ্চিত করে যে username কমপক্ষে ৫ অক্ষরের হবে।
3. JSON স্কিমা ব্যবহার করে ভ্যালিডেশন
যদি আপনি JSON ডেটার কাঠামো এবং টাইপ সঠিকভাবে চেক করতে চান, তবে আপনি JSON স্কিমা ব্যবহার করে ভ্যালিডেশন করতে পারেন। Boon সরাসরি JSON স্কিমা ভ্যালিডেশন সাপোর্ট না করলেও, আপনি অতিরিক্ত লাইব্রেরি যেমন json-schema-validator ব্যবহার করে JSON স্কিমা অনুযায়ী ডেটার ভ্যালিডেশন করতে পারেন।
Boon এর মাধ্যমে JSON ডেটার জন্য কাস্টম ভ্যালিডেশন রুলস তৈরি করা সম্ভব এবং এটি অনেক সহজ এবং কার্যকরী। আপনি বিভিন্ন ফিল্ডে ভ্যালিডেশন প্রয়োগ করতে পারেন, যেমন ফিল্ডের উপস্থিতি যাচাই করা, নির্দিষ্ট রেঞ্জের মধ্যে থাকা বা রেগুলার এক্সপ্রেশন ব্যবহার করে প্যাটার্ন চেক করা। JSON ডেটা ভ্যালিডেশন নিশ্চিত করে যে আপনার অ্যাপ্লিকেশনের ইনপুট ডেটা সঠিক এবং প্রত্যাশিত ফরম্যাটে রয়েছে, যা অ্যাপ্লিকেশনের স্থিতিশীলতা এবং সুরক্ষা উন্নত করে।