Computer >> Máy Tính >  >> Lập trình >> Python

Cách xác thực dữ liệu bằng Cerberus trong python

Giới thiệu

Mô-đun Cerberus trong python cung cấp các chức năng xác thực dữ liệu mạnh mẽ nhưng nhẹ. Nó được thiết kế theo cách mà bạn có thể mở rộng nó cho các ứng dụng khác nhau và xác nhận tùy chỉnh.

Trước tiên, chúng tôi xác định một lược đồ và sau đó xác thực dữ liệu dựa trên lược đồ và kiểm tra xem nó có phù hợp với các điều kiện được cung cấp hay không. Nếu không, các lỗi chính xác sẽ được hiển thị ở vị trí sai.

Các điều kiện khác nhau có thể được áp dụng cùng một lúc cho trường dữ liệu để xác thực.

Bắt đầu

Để sử dụng Cerberus, trước tiên bạn phải cài đặt nó, vì nó không được đóng gói với Python.

Để tải xuống và cài đặt nó, chúng tôi sử dụng trình quản lý gói pip.

Khởi chạy thiết bị đầu cuối của bạn và sử dụng lệnh bên dưới.

pip install Cerberus

Khi bạn đã tải xuống và cài đặt thành công thư viện Cerberus, bạn phải nhập mô-đun trình xác thực của nó vào tập lệnh Python của mình.

from cerberus import Validator

Và đó là nó. Bạn đã sẵn sàng để bắt đầu xác thực dữ liệu.

Xác thực dữ liệu có trong từ điển

Đầu tiên, chúng ta phải tạo một lược đồ.

schema = {'numbers': {'type': 'integer'}}
v = Validator(schema)

Điều này có nghĩa là, trong từ điển python, trường số chỉ được chứa các số nguyên.

data = {'numbers': 5}

Trên đây là dữ liệu mà chúng tôi cần xác thực.

if v.validate(data):
   print("Data is valid")
else:
   print("Data is invalid")

Điều này xác thực dữ liệu so với lược đồ chúng tôi đã tạo trước đó.

Ví dụ

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")

Đầu ra

Data is valid .

Xác thực với các quy tắc khác nhau và lỗi in

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)

Đầu ra

Data is invalid, {'ID': ['required field']}


Đặt phạm vi giá trị tối thiểu và tối đa

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)

Đầu ra

Data is invalid
{'age': ['min value is 18'], 'name': ['min length is 5']}

Vậy là xong, giờ đây bạn có thể xác thực từ điển, tệp json, v.v. theo cách tương tự bằng cách sử dụng thư viện Cerberus.

Kết luận

Bạn đã học cách xác thực dữ liệu bằng thư viện Cerberus với lược đồ được tạo tùy chỉnh của riêng bạn.

Sử dụng phương pháp này, bạn có thể xác thực tệp json, dữ liệu được trích xuất từ ​​API, v.v.

Chúng tôi chủ yếu xác thực dữ liệu để tránh lỗi khi xây dựng cơ sở dữ liệu hoặc trong khi phân tích dữ liệu.

Bạn thậm chí có thể tự động hóa dữ liệu xác thực và xây dựng một trang web động dựa trên cùng một trang web.