JSON স্কিমাতে তারিখ লেখা আছে বলে, এর মানে এই নয় যে যাচাইকারীকে অবশ্যই তারিখটি পরীক্ষা করতে হবে।
স্কিমা বলছে `format: date`, কিন্তু খারাপ তারিখটি যাচাইকরণকে অতিক্রম করে। এর মানে এই নাও হতে পারে যে লাইব্রেরিতে একটি বাগ আছে। কিভাবে `format` পরিচালনা করা হয় তা নির্ভর করে ভ্যালিডেটর কনফিগারেশনের উপর। আপনি যখন একটি "যাচাই সফল" পান, প্রথমে জিজ্ঞাসা করুন এটি টাইপ, গঠন পরীক্ষা করেছে কিনা বা তারিখের শব্দার্থ পরীক্ষা করেছে কিনা।
format: date JSON স্কিমাতে লেখা আছে, কিন্তু একটি অস্তিত্বহীন তারিখ যাচাইকরণ পাস করে। এটি সাধারণত লাইব্রেরিতে একটি বাগ নয়। format কীভাবে পরিচালনা করা হয় তা যাচাইকারী কনফিগারেশনের উপর নির্ভর করে। যখন আপনি একটি "যাচাই সফল" ফলাফলের সম্মুখীন হন, আপনাকে প্রথমে নিশ্চিত করতে হবে যে এটি প্রকার, গঠন পরীক্ষা করে কিনা বা তারিখের শব্দার্থও পরীক্ষা করে।
এই নিবন্ধটি ডেভেলপার এবং পর্যালোচকদের জন্য উপযুক্ত যাদের ডকুমেন্ট ডেটার কাঠামোগত যাচাইকরণ এবং তারিখ ক্ষেত্রের সঠিকতা সম্পর্কে যত্ন নেওয়া প্রয়োজন। এটি পড়ার পরে, আপনি একটি পাসিং যাচাইকরণের অর্থ কী তা নির্ধারণ করতে সক্ষম হবেন এবং তারিখের নিয়মগুলি ঠিক করতে পাল্টা উদাহরণ পরীক্ষা ব্যবহার করুন৷
এই নিবন্ধটি প্রক্রিয়াকরণ পদ্ধতি প্রদর্শন করতে সিন্থেটিক নমুনা ব্যবহার করে। কোডটি একটি বিচ্ছিন্ন পরিবেশে উদাহরণ সহ পরীক্ষা করা হয়েছে এবং এটি সমস্ত বাস্তব ফাইল বা পণ্যের কার্যকারিতার গ্যারান্টি নয়। গুরুত্বপূর্ণ নথিগুলি প্রক্রিয়া করার আগে, দয়া করে মূলগুলি রাখুন এবং পাঠ্যের সীমানা এবং গ্রহণযোগ্য আইটেমগুলি অনুসারে সেগুলি পর্যালোচনা করুন৷
JSON স্কিমার তারিখ যাচাইকরণ ঠিক কী চেক করে? এক বাক্যে উপসংহার
প্রথমে নিশ্চিত করুন যে format চেকটি যাচাইকারীতে সক্ষম হয়েছে কিনা এবং তারপর নিশ্চিত করুন যে তারিখের শব্দার্থিক নিয়মগুলি (এটি আসলে বিদ্যমান কিনা এবং কীভাবে এটি ব্যাখ্যা করা যায়) অন্যথায় দায়ী কিনা।
| আপনার অবস্থা | প্রস্তাবিত অভ্যাস | কারণ |
|---|---|---|
শুধুমাত্র ডিফল্ট ভ্যালিডেটর দিয়ে format: date চেক করুন | FormatChecker স্পষ্টভাবে সক্ষম কিনা তা প্রথমে নিশ্চিত করুন৷ | format কীভাবে পরিচালনা করা হয় তা যাচাইকারী কনফিগারেশনের উপর নির্ভর করে |
2026-02-30 এর মতো তারিখগুলি সনাক্ত করতে হবে | একটি পাল্টা উদাহরণ হিসাবে এটি পরীক্ষা সেটে রাখুন | স্ট্রিংটি একটি তারিখের মতো দেখায়, যার অর্থ এই নয় যে এটি ক্যালেন্ডারে বিদ্যমান। |
| উৎস তারিখের দিন এবং মাসের ক্রম অজানা। | অস্পষ্টতা চিহ্নিত করুন, কোন স্বয়ংক্রিয় অনুমান নেই | date যাচাইকরণ পাস করা শুধুমাত্র দেখাতে পারে যে রূপান্তরিত মান বৈধ |
| সময় এবং সময় অঞ্চল সহ ক্ষেত্র | স্বাধীন সময় প্রোটোকল ব্যবহার করুন | প্রথম দশটি অক্ষরকে আটকানো এবং স্বাভাবিকভাবে প্রক্রিয়া করা উচিত নয় |
| অনুবাদের তারিখ যাচাইকরণের জন্য ব্যবহৃত | raw_text এবং স্বাভাবিক মান উভয়ই সংরক্ষণ করুন | পর্যালোচনাকারীদের মূল বিষয়বস্তু এবং পদ্ধতিগত ব্যাখ্যা উভয়ই দেখতে হবে |
দুটি আপাতদৃষ্টিতে অভিন্ন চেক
2026-02-30 একটি স্ট্রিং এবং এটি একটি তারিখের মতো দেখতে, কিন্তু ফেব্রুয়ারিতে কোন 30 তম দিন নেই৷ শুধুমাত্র নিয়মিত আকার পরীক্ষা করা এই ধরনের সমস্যা মিস করবে। ডিফল্ট যাচাইকারীর ফলাফল তুলনা করতে এবং স্পষ্টভাবে FormatChecker সক্ষম করার জন্য নিম্নলিখিতগুলি পাইথনের jsonschema ব্যবহার করে৷
একটি অসম্ভব তারিখ দিয়ে কনফিগারেশন পরীক্ষা করুন
from jsonschema import Draft202012Validator, FormatChecker
schema = {"type": "string", "format": "date"}
structural = Draft202012Validator(schema)
strict = Draft202012Validator(schema, format_checker=FormatChecker())
def valid(v, value):
return not list(v.iter_errors(value))
assert valid(structural, "2026-02-30")
assert not valid(strict, "2026-02-30")
assert valid(strict, "2024-02-29")
assert not valid(strict, "2025-02-29")
assert not valid(strict, "26/09/2026")
assert not valid(strict, 20260926)
সিন্থেটিক উদাহরণ শুধুমাত্র date যাচাই করে। অন্যান্য বিন্যাসে ঐচ্ছিক নির্ভরতা বা বাস্তবায়নের পার্থক্য থাকতে পারে এবং লক করা পরিবেশে কেস-বাই-কেস ভিত্তিতে পরীক্ষা করা উচিত। অজানা ফর্ম্যাটের নামগুলিকে বোঝানো যাবে না যে কোনও ধরণের চেক প্রয়োগ করা হয়েছে এবং ভুল বানানগুলি আপনাকে অর্থহীন নিরাপত্তার অনুভূতি দিতে পারে।
তারিখ বিন্যাস একটি তারিখ ব্যাখ্যা নিয়ম নয়
উৎসে 03/04/2026 এর অর্থ হতে পারে 4ঠা মার্চ, অথবা এর অর্থ হতে পারে 3রা এপ্রিল৷ আইএসও ফর্মে রূপান্তর করার আগে উৎস অঞ্চল, ক্ষেত্র স্পেসিফিকেশন বা স্পষ্ট প্রোটোকল প্রয়োজন। date যাচাইকরণ পাস করা শুধুমাত্র প্রমাণ করতে পারে যে রূপান্তরিত মান বৈধ, কিন্তু এটি প্রমাণ করতে পারে না যে আপনি সঠিক মাস নির্বাচন করেছেন।
| উৎস তথ্য | কি করতে হবে | কি করা উচিত নয় |
|---|---|---|
| ক্যালেন্ডার তারিখ যা বিদ্যমান নেই | একটি ত্রুটি রিপোর্ট করুন এবং উত্স পর্যালোচনা করুন | স্বয়ংক্রিয়ভাবে পরের মাসে স্ক্রোল করুন |
| সূর্য ও চাঁদের অজানা ক্রম | ট্যাগ অস্পষ্টতা | সার্ভার ভাষার উপর ভিত্তি করে অনুমান করুন |
| সময় এবং সময় অঞ্চল সঙ্গে | স্বাধীন সময় প্রোটোকল ব্যবহার করুন | এলোমেলোভাবে প্রথম দশটি অক্ষরকে আটকান |
| মাঠ ফাঁকা | অনুপস্থিত নিয়ম অনুযায়ী চিকিত্সা | আজকের তারিখ পরিপূরক |
রিগ্রেশন পরীক্ষায় কনফিগারেশন অন্তর্ভুক্ত করুন
পরীক্ষার সেটে কমপক্ষে তিন ধরনের মান রাখুন: একটি আইনি লিপ ডে, একটি অবৈধ লিপ ডে এবং একটি বিকৃত মান। স্কিমা ফাইলটি বিদ্যমান কিনা তা পরীক্ষা করার চেয়ে স্থাপন করার সময় এই পাল্টা উদাহরণগুলি চালানো আরও কার্যকর। যদি পরিষেবাটি ভাষা জুড়ে প্রয়োগ করা হয়, তবে একই পরীক্ষার সেট আলাদাভাবে যাচাই করা উচিত, এবং অনুমান করবেন না যে দুটি যাচাইকারীর ডিফল্ট আচরণ একই।
অনুবাদ পর্যালোচনা মূল তারিখ ধরে রাখে
OmniDoc অনুবাদ যাচাইকরণের জন্য তারিখ নিষ্কাশন ফলাফল ব্যবহার করার সময়, raw_text এবং স্বাভাবিক মান উভয়ই সংরক্ষণ করার পরামর্শ দেওয়া হয়। অনুবাদ, নিষ্কাশন বা বিন্যাস রূপান্তরের মধ্যে পার্থক্য রয়েছে কিনা তা নির্ধারণ করতে পর্যালোচনাকারীকে "মূল বিষয়বস্তু কী" এবং "সিস্টেম কীভাবে এটি ব্যাখ্যা করে" দেখতে হবে।
তথ্যসূত্র: JSON স্কিমা স্ট্রিং এবং বিন্যাস.
📊 মূল তুলনা
| তুলনামূলক আইটেম | ডিফল্ট যাচাইকারী | স্পষ্টভাবে FormatChecker সক্ষম করুন |
|---|---|---|
| সুযোগ পরীক্ষা করুন | প্রকার এবং গঠন | format ঘোষণার বিন্যাসের জন্য অতিরিক্ত চেক |
2026-02-30 উপর উপসংহার | প্রত্যাখ্যান অনুমান করবেন না | পাল্টা উদাহরণ দিয়ে নিশ্চিত করা প্রয়োজন |
| পাস করার সময় মানে | এর মানে এই নয় যে তারিখের শব্দার্থ সঠিক | এখনও ব্যবসার তারিখের ব্যাখ্যা চেক করতে হবে |
🎯 কোন পদ্ধতি আপনার জন্য উপযুক্ত?
আপনি যদি নিশ্চিত করতে চান যে ক্ষেত্রটি একটি স্ট্রিং বা সঠিকভাবে গঠন করা হয়েছে
ডিফল্ট যাচাইকারী সাধারণত যথেষ্ট, তবে সচেতন থাকুন যে এটি অগত্যা তারিখের শব্দার্থ পরীক্ষা করে না।
যদি আপনি নিশ্চিত করতে চান যে তারিখটি আসলে বিদ্যমান
স্পষ্টভাবে FormatChecker সক্ষম করুন এবং 2026-02-30 এর মত পাল্টা উদাহরণ দিয়ে যাচাই করুন।
সোর্স ফাইলে তারিখ চেক করতে চাইলে
প্রথমে দিন এবং মাসের অনুক্রমের উত্স নিয়মগুলি নিশ্চিত করুন এবং তারপরে মূল পাঠ্য এবং স্বাভাবিক মানগুলি সংরক্ষণ করুন৷
যদি আপনার পরিষেবা বিভিন্ন ভাষা জুড়ে স্থাপন করা হয়
পরীক্ষার একই সেট প্রতিটি বাস্তবায়ন চালানো হয়.
❓ প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)
1. স্কিমা format: date হিসাবে লেখা আছে, কেন খারাপ তারিখগুলি এখনও পাস করতে পারে?
format কীভাবে পরিচালনা করা হয় তা যাচাইকারী কনফিগারেশনের উপর নির্ভর করে এবং তারিখের শব্দার্থবিদ্যা ডিফল্টরূপে চেক করা হয় না।
2. কেন 2026-02-30 একটি দরকারী পরীক্ষার মান?
এটি একটি তারিখের মত দেখায়, কিন্তু ফেব্রুয়ারির ত্রিশতম দিন নেই। শুধু চেহারা পরীক্ষা এই ধরনের সমস্যা মিস হবে.
3. একটি অজানা ফরম্যাটের নাম ব্যবহার করা হলে কি হবে?
এটিকে চেক করা হয়েছে এমনভাবে বিবেচনা করা উচিত নয় এবং বানান ত্রুটি আপনাকে নিরাপত্তার একটি ভুল ধারণা দিতে পারে।
4. কিভাবে 03/04/2026 রূপান্তর করা উচিত?
উত্সের অঞ্চল, ক্ষেত্রের বিবরণ, বা স্পষ্ট প্রোটোকল প্রয়োজন৷ অন্যথায় এটি 4 ঠা মার্চ বা 3 এপ্রিলের প্রতিনিধিত্ব করে তা বলা অসম্ভব।
📝 সারাংশ
যাচাইকরণ পাস করার মানে হল যে ডেটা ঘোষিত নিয়মগুলি পূরণ করে, তবে এর অর্থ এই নয় যে প্রতিটি তারিখের অর্থ সঠিক। প্রথমে যাচাইকারীর চেকিং স্কোপ নিশ্চিত করুন, এবং তারপর তারিখ প্রক্রিয়াকরণ ঠিক করতে কাউন্টার উদাহরণ এবং উত্স নিয়মগুলি ব্যবহার করুন, যাতে ফলাফলগুলি আরও নির্ভরযোগ্য হয়৷
এটি এখনই চেষ্টা করুন: অনুবাদ শুরু করতে নথিটি আপলোড করুন, মূল বিন্যাস বজায় রেখে৷


