ভূমিকা
Cerberus মডিউল হালকা কিন্তু শক্তিশালী ডেটা ভ্যালিডেশন ফাংশন দেয়। এটি এক্সটেন্ডেবল যাতে কাস্টম ভ্যালিডেশন যোগ করা যায়।
প্রথমে স্কিমা ডিফাইন করে, তারপর ডেটা স্কিমার সাথে মিলিয়ে ভ্যালিডেট করা হয়। মেলে না হলে এরর দেখায়। একসাথে একাধিক শর্ত প্রয়োগ করা যায়।
শুরু করা
Cerberus পাইথনের সাথে প্যাকেজড নয়। PIP দিয়ে ইনস্টল করুন:
pip install Cerberus
Validator মডিউল ইম্পোর্ট করুন:
from cerberus import Validator
ডিকশনারি ডেটা ভ্যালিডেট
স্কিমা তৈরি:
schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)অর্থাৎ, ডিকশনারিতে 'numbers' ফিল্ডে শুধু ইন্টিজার থাকবে।
data = {'numbers': 5}ভ্যালিডেশন:
if v.validate(data):
print("Data is valid")
else:
print("Data is invalid")
উদাহরণ
from cerberus import Validator
schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)
data = {'numbers': 5}
if v.validate(data):
print("Data is valid")
else:
print("Data is invalid")
আউটপুট
Data is valid
বিভিন্ন রুল ও এরর প্রিন্ট
from cerberus import Validator
v = Validator()
v.schema = {'ID': {'required': True, 'type': 'number'}, 'age': {'type': 'integer'}}
if v.validate({'age': 60}):
print('Data is valid')
else:
print('Data is invalid')
print(v.errors)
আউটপুট
Data is invalid, {'ID': ['required field']}মিন/ম্যাক্স ভ্যালু রেঞ্জ
from cerberus import Validator
v = Validator()
v.schema = {'name': {'type': 'string', 'minlength': 5}, 'age': {'type': 'integer', 'min': 18, 'max': 65}}
if v.validate({'name': 'VJ', 'age': 16}):
print('Data is valid')
else:
print('Data is invalid')
print(v.errors)
আউটপুট
Data is invalid {'age': ['min value is 18'], 'name': ['min length is 5']}উপসংহার
Cerberus দিয়ে কাস্টম স্কিমা বানিয়ে ডিকশনারি, JSON, API ডেটা ভ্যালিডেট করা যায়। ডাটাবেস বিল্ড বা ডেটা অ্যানালিসিসের আগে ভ্যালিডেশন দরকার। অটোমেটেড ভ্যালিডেশন দিয়ে ডাইনামিক ওয়েবসাইটও বানানো যায়।