You can try out this code.
from pydantic import ValidationError
def validate_user_data(user_data: dict):
try:
# Create an instance of the Pydantic model
user = UserModel(**user_data)
# Convert the model to a dictionary, excluding unset (optional) fields
validated_data = user.dict(exclude_unset=True)
return validated_data
except ValidationError as e:
# Handle validation errors
print("Validation error:", e.errors())
# Extract and print missing or invalid fields
missing_or_invalid_fields = [error['loc'][0] for error in e.errors()]
if missing_or_invalid_fields:
print("Missing or invalid fields:", missing_or_invalid_fields)
return None
user_data = {
"name":"",
"age": 30,
"email": "[email protected]",
"address": None # Optional field, can be None
}
validated_data = validate_user_data(user_data)
if validated_data:
print("Validated data:", validated_data)
else:
print("Invalid data provided.")
Feel free to comment your thoughts. Thank you!