Python xác thực HTML

Điều này có thể được sử dụng cùng với quy tắc lược đồ khi xác thực ánh xạ để đặt thuộc tính của trình xác thực cho tài liệu con. Quy tắc này được ưu tiên hơn

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
5 [xem ]. Để biết chi tiết đầy đủ, hãy tham khảo

cho phép

Quy tắc này lấy một

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
6 giá trị được phép. Xác thực giá trị đích nếu giá trị nằm trong các giá trị được phép. Nếu giá trị đích là một , tất cả các thành viên của nó phải ở trong các giá trị được phép

>>> v.schema = {'role': {'type': 'list', 'allowed': ['agent', 'client', 'supplier']}}
>>> v.validate[{'role': ['agent', 'supplier']}]
True

>>> v.validate[{'role': ['intern']}]
False
>>> v.errors
{'role': ["unallowed values ['intern',]"]}

>>> v.schema = {'role': {'type': 'string', 'allowed': ['agent', 'client', 'supplier']}}
>>> v.validate[{'role': 'supplier'}]
True

>>> v.validate[{'role': 'intern'}]
False
>>> v.errors
{'role': ['unallowed value intern']}

>>> v.schema = {'a_restricted_integer': {'type': 'integer', 'allowed': [-1, 0, 1]}}
>>> v.validate[{'a_restricted_integer': -1}]
True

>>> v.validate[{'a_restricted_integer': 2}]
False
>>> v.errors
{'a_restricted_integer': ['unallowed value 2']}

Đã thay đổi trong phiên bản 0. 5. 1. Đã thêm hỗ trợ cho loại

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
7.

tất cả

Xác thực nếu tất cả các ràng buộc được cung cấp xác thực trường. Xem để biết chi tiết

Mới trong phiên bản 0. 9

bất kỳ

Xác thực nếu bất kỳ ràng buộc nào được cung cấp xác thực trường. Xem để biết chi tiết

Mới trong phiên bản 0. 9

kiểm tra với

Xác thực giá trị của một trường bằng cách gọi hàm hoặc phương thức

Một chức năng phải được thực hiện như nguyên mẫu sau

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']

Đối số

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
8 trỏ đến phương thức
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
9 của trình xác nhận cuộc gọi. Xem Mở rộng Cerberus về cách gửi lỗi.

Đây là một ví dụ kiểm tra xem một số nguyên có phải là số lẻ hay không

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]

Sau đó, bạn có thể xác thực một giá trị như thế này

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True

Nếu ràng buộc của quy tắc là một chuỗi, thì thể hiện phải có một phương thức với tên đó có tiền tố là

schema = {'field': {'check_with': [oddity, 'prime number']}}
1. Xem tương đương với ví dụ dựa trên chức năng ở trên

Ràng buộc cũng có thể là một chuỗi các thứ này sẽ được gọi liên tiếp

schema = {'field': {'check_with': [oddity, 'prime number']}}

Đã thay đổi trong phiên bản 1. 3. Quy tắc đã được đổi tên từ

schema = {'field': {'check_with': [oddity, 'prime number']}}
2 thành
schema = {'field': {'check_with': [oddity, 'prime number']}}
3

chứa

Quy tắc này xác thực rằng đối tượng vùng chứa chứa tất cả các mục đã xác định

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
3

phụ thuộc

Quy tắc này cho phép một người xác định một tên trường duy nhất, một chuỗi tên trường hoặc một trong các tên trường và một chuỗi các giá trị được phép theo yêu cầu trong tài liệu nếu trường được xác định có trong tài liệu

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
4

Khi nhiều tên trường được xác định là phụ thuộc, tất cả những tên này phải có mặt để trường mục tiêu được xác thực

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
5

Khi ánh xạ được cung cấp, không chỉ phải có tất cả các thành phần phụ thuộc mà còn phải khớp với bất kỳ giá trị được phép nào của chúng

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
6

Khai báo các phụ thuộc vào các trường tài liệu phụ với ký hiệu dấu chấm cũng được hỗ trợ

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
7

Khi một tài liệu con được xử lý, việc tìm kiếm một trường được đề cập sẽ bắt đầu ở cấp độ của tài liệu đó. Để xử lý tài liệu được xử lý ở cấp gốc, khai báo phải bắt đầu bằng ____. Sự xuất hiện của hai dấu mũ đầu tiên [_______95] được hiểu là một

schema = {'field': {'check_with': [oddity, 'prime number']}}
4 đơn lẻ không có ý nghĩa đặc biệt

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
0

Ghi chú

Nếu bạn muốn mở rộng ngữ nghĩa của ký hiệu dấu chấm, bạn có thể ghi đè phương thức.

Ghi chú

Việc đánh giá quy tắc này không xem xét bất kỳ ràng buộc nào được xác định bằng quy tắc

Đã thay đổi trong phiên bản 1. 0. 2. Hỗ trợ định địa chỉ tuyệt đối với

schema = {'field': {'check_with': [oddity, 'prime number']}}
4.

Đã thay đổi trong phiên bản 0. 8. 1. Hỗ trợ các trường tài liệu phụ dưới dạng phụ thuộc.

Đã thay đổi trong phiên bản 0. 8. Hỗ trợ các phần phụ thuộc dưới dạng từ điển.

Mới trong phiên bản 0. 7

trống rỗng

Nếu bị ràng buộc với việc xác thực giá trị của

schema = {'field': {'check_with': [oddity, 'prime number']}}
9 sẽ không thành công nếu giá trị đó trống. Theo mặc định, trường trống không được chọn và do đó được cho phép khi quy tắc không được xác định. Nhưng việc xác định nó với ràng buộc
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
30 sẽ bỏ qua các quy tắc có thể được xác định là
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
31,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
32,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
33,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
34,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
35,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
36 và
schema = {'field': {'check_with': [oddity, 'prime number']}}
2 cho trường đó khi giá trị được coi là trống

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
1

Mới trong phiên bản 0. 0. 3

loại trừ

Bạn có thể khai báo các trường để loại trừ những trường khác

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
2

Bạn có thể yêu cầu cả hai trường để tạo độc quyền hoặc

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
3

Bạn cũng có thể chuyển nhiều trường để loại trừ trong danh sách

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
4

cấm

Đối diện với điều này xác thực nếu một giá trị là bất kỳ nhưng một trong các giá trị được xác định

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
5

Mới trong phiên bản 1. 0

mặt hàng

Xác thực các mục của bất kỳ lần lặp nào dựa trên một chuỗi các quy tắc phải xác thực từng mục tương ứng với chỉ mục. Các mục sẽ chỉ được đánh giá nếu kích thước của iterable nhất định phù hợp với định nghĩa. Điều này cũng áp dụng trong quá trình chuẩn hóa và các mục có giá trị không được chuẩn hóa khi độ dài không khớp

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
6

Xem quy tắc để xử lý các loại

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38 có độ dài tùy ý

quy tắc phím

Quy tắc này lấy một bộ quy tắc làm ràng buộc rằng tất cả các khóa của a được xác thực bằng

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
7

Mới trong phiên bản 0. 9

Đã thay đổi trong phiên bản 1. 0. Đổi tên từ

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
39 thành
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
40

Đã thay đổi trong phiên bản 1. 3. Đổi tên từ

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
40 thành
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
42

meta

Đây thực sự không phải là quy tắc xác thực mà là một trường trong bộ quy tắc có thể được sử dụng theo quy ước cho dữ liệu cụ thể của ứng dụng mang tính mô tả cho trường tài liệu

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
8

Dữ liệu được gán có thể thuộc bất kỳ loại nào

Mới trong phiên bản 1. 3

nhỏ nhất lớn nhất

Giá trị tối thiểu và tối đa được phép cho bất kỳ đối tượng nào có lớp thực hiện các thao tác so sánh [

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
43 &
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
44]

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
9

Đã thay đổi trong phiên bản 1. 0. Cho phép so sánh bất kỳ loại nào.

Đã thay đổi trong phiên bản 0. 7. Đã thêm hỗ trợ cho các loại

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
45 và
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
46.

độ dài tối thiểu, độ dài tối đa

Độ dài tối thiểu và tối đa được phép đối với các loại có kích thước triển khai

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
47

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
0

không

Xác thực nếu không có ràng buộc nào được cung cấp xác thực trường. Xem để biết chi tiết

Mới trong phiên bản 0. 9

vô giá trị

Nếu

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
30 giá trị trường được phép. Quy tắc sẽ được kiểm tra trên mọi trường, bất kể nó có được xác định hay không. Giá trị mặc định ràng buộc của quy tắc
schema = {'field': {'check_with': [oddity, 'prime number']}}
9

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
1

Đã thay đổi trong phiên bản 0. 7. ______151 hợp lệ trên các trường thiếu định nghĩa kiểu.

Mới trong phiên bản 0. 3. 0

* quy tắc

Các quy tắc này cho phép bạn xác định các bộ quy tắc khác nhau để xác thực đối với. Trường sẽ được coi là hợp lệ nếu nó hợp lệ đối với tập hợp trong danh sách theo logic tiền tố

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
52,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
53,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
54 hoặc
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
55

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
56Xác thực nếu tất cả các ràng buộc được cung cấp xác thực trường.
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
57Xác thực nếu bất kỳ ràng buộc nào được cung cấp xác thực trường.
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
58Xác thực nếu không có ràng buộc nào được cung cấp xác thực trường.
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
59Xác thực nếu áp dụng chính xác một trong các ràng buộc được cung cấp

Ghi chú

Chuẩn hóa trong các bộ quy tắc trong giới hạn của các quy tắc này.

Ghi chú

Trước khi áp dụng các quy tắc này, bạn nên tìm hiểu các giải pháp khả thi khác cho vấn đề có và không có Cerberus. Đôi khi mọi người có xu hướng phức tạp hóa các lược đồ với các quy tắc này

Ví dụ: để xác minh rằng giá trị của trường là một số từ 0 đến 10 hoặc 100 đến 110, bạn có thể thực hiện như sau

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
2

Quy tắc

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
57 kiểm tra từng quy tắc được đặt trong danh sách. Do đó, lược đồ trên tương đương với việc tạo hai lược đồ riêng biệt

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
3

Mới trong phiên bản 0. 9

* trình sắp xếp theo quy tắc

Bạn có thể nối bất kỳ quy tắc nào với dấu gạch dưới và quy tắc khác với danh sách các giá trị quy tắc để tiết kiệm việc nhập

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
4

Vì vậy, bạn có thể sử dụng điều này để xác thực tài liệu dựa trên một số lược đồ mà không cần triển khai logic của riêng bạn

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
5

một trong

Xác thực nếu áp dụng chính xác một trong các ràng buộc được cung cấp. Xem để biết chi tiết

Mới trong phiên bản 0. 9

chỉ đọc

Nếu

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
30 giá trị là chỉ đọc. Quá trình xác thực sẽ không thành công nếu trường này có trong từ điển đích. Điều này rất hữu ích, chẳng hạn như khi nhận một tải trọng cần được xác thực trước khi gửi đến kho dữ liệu. Trường có thể được cung cấp bởi kho dữ liệu, nhưng không thể ghi

Trình xác thực có thể được định cấu hình với đối số khởi tạo

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
62 và thuộc tính có cùng tên để cho phép nó xóa tất cả các trường có quy tắc này được xác định tích cực

Đã thay đổi trong phiên bản 1. 0. 2. Có thể được sử dụng cùng với

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
63 và
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
64, xem.

biểu thức chính quy

Quá trình xác thực sẽ không thành công nếu giá trị của trường không khớp với biểu thức chính quy được cung cấp. Nó chỉ được thử nghiệm trên các giá trị chuỗi

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
6

Một

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
65 ở cuối được đảm bảo cho tất cả các mẫu để khuyến khích người dùng viết các mẫu hoàn chỉnh cho các chuỗi khớp [chứ không phải tìm kiếm]. Việc triển khai không nhất quán đối với một
schema = {'field': {'check_with': [oddity, 'prime number']}}
4 hàng đầu, những điều này không được thực thi. Sự không nhất quán đó sẽ không được khắc phục cho chuỗi phát hành
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
67. Để biết chi tiết về cú pháp biểu thức chính quy, hãy xem tài liệu về -module của thư viện chuẩn

Gợi ý

Lưu ý rằng người ta có thể đặt cờ hành vi như một phần của biểu thức, tương đương với việc chuyển

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
69 cho hàm chẳng hạn. Vì vậy, ràng buộc
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
71 bao gồm tương đương với cờ và khớp với bất kỳ chuỗi nào bao gồm 'chén thánh' hoặc bất kỳ biến thể nào của chuỗi đó bằng ký tự viết hoa. Tìm
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
73 trong tài liệu thư viện được đề cập để biết mô tả ở đó

Mới trong phiên bản 0. 7

yêu cầu_tất cả

Điều này có thể được sử dụng cùng với quy tắc lược đồ khi xác thực ánh xạ để đặt thuộc tính của trình xác thực cho tài liệu con. Để biết chi tiết đầy đủ, hãy tham khảo

cần thiết

Nếu

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
30 trường này là bắt buộc. Quá trình xác thực sẽ thất bại khi bị thiếu, trừ khi được gọi với
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
77

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
7

Ghi chú

Để xác định tất cả các trường của tài liệu theo yêu cầu, hãy xem

Ghi chú

Các trường chuỗi có giá trị trống sẽ vẫn được xác thực, ngay cả khi

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
78 được đặt thành
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
30. Nếu bạn không muốn chấp nhận các giá trị trống, hãy xem quy tắc

Ghi chú

Việc đánh giá quy tắc này không xem xét bất kỳ ràng buộc nào được xác định bằng quy tắc

Đã thay đổi trong phiên bản 0. 8. Kiểm tra sự phụ thuộc của trường.

lược đồ [dict]

Nếu một trường mà quy tắc

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00 được xác định có giá trị là ánh xạ, thì ánh xạ đó sẽ được xác thực theo lược đồ được cung cấp dưới dạng ràng buộc

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
8

Ghi chú

Để xác thực các khóa tùy ý của ánh xạ, hãy xem, tương ứng. để xác thực các giá trị tùy ý của ánh xạ

lược đồ [danh sách]

Nếu xác thực

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00 gặp một chuỗi có kích thước tùy ý làm giá trị, tất cả các mục của chuỗi sẽ được xác thực theo các quy tắc được cung cấp trong ràng buộc của _____ 400

def oddity[field, value, error]:
    if not value & 1:
        error[field, "Must be an odd number"]
9

Quy tắc lược đồ trên các loại

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38 cũng là phương pháp ưa thích để xác định và xác thực danh sách từ điển

Ghi chú

Việc sử dụng quy tắc này phải đi kèm với quy tắc

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
04 giới hạn rõ ràng trường ở loại
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38 như trong ví dụ. Mặt khác, kết quả sai có thể xảy ra khi ánh xạ được xác thực theo quy tắc này với các ràng buộc cho một chuỗi

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
0

Đã thay đổi trong phiên bản 0. 0. 3. Quy tắc giản đồ cho

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38 loại độ dài tùy ý

loại

Loại dữ liệu được phép cho giá trị khóa. Có thể là một trong những tên sau

Loại TênPython 2 LoạiPython 3 Loại
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
07
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
10
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
11 , ,
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
15
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
18
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
21
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
45
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
27,
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38, excl.
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
33, loại trừ.
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
33
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
46, , ​​, loại trừ. , , loại trừ.
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
44____433

Bạn có thể mở rộng danh sách này và hỗ trợ

Một danh sách các loại có thể được sử dụng để cho phép các giá trị khác nhau

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
1

>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
2

Ghi chú

Mặc dù quy tắc

def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
04 hoàn toàn không bắt buộc phải đặt, nhưng bạn không nên bỏ đặt quy tắc này, đặc biệt khi sử dụng các quy tắc phức tạp hơn, chẳng hạn như
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00. Nếu bạn quyết định vẫn không muốn đặt loại rõ ràng, các quy tắc như
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00 chỉ được áp dụng cho các giá trị mà quy tắc đó thực sự có thể được sử dụng [chẳng hạn như
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
21 và
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38]. Ngoài ra, trong trường hợp của
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00, cerberus sẽ cố gắng quyết định xem quy tắc loại
>>> schema = {'amount': {'check_with': oddity}}
>>> v = Validator[schema]
>>> v.validate[{'amount': 10}]
False
>>> v.errors
{'amount': ['Must be an odd number']}

>>> v.validate[{'amount': 9}]
True
38 hay loại
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
21 phù hợp hơn và suy luận nó tùy thuộc vào quy tắc
def functionnname[field, value, error]:
    if value is invalid:
        error[field, 'error message']
00 trông như thế nào

Ghi chú

Xin lưu ý rằng xác thực loại được thực hiện trước hầu hết các loại khác tồn tại cho cùng một trường [chỉ và được xem xét trước]. Trong trường hợp xảy ra lỗi loại, các quy tắc xác thực tiếp theo trên trường sẽ bị bỏ qua và quá trình xác thực sẽ tiếp tục trên các trường khác. Điều này cho phép một người giả định một cách an toàn rằng loại trường đó là chính xác khi các quy tắc [tiêu chuẩn hoặc tùy chỉnh] khác được gọi

Làm cách nào để lấy giá trị HTML bằng Python?

Có hai phương pháp để giải quyết vấn đề của bạn. .
Lấy giá trị đầu vào bằng phương thức nhập của python
Lấy thông tin đầu vào từ biểu mẫu HTML. Trong trường hợp này, trước tiên, bạn cần chạy một máy chủ cục bộ. Để làm điều đó, bạn có thể sử dụng các khung python khác nhau. Ví dụ: bình, chai, Django [Tôi đang sử dụng bình ở đây để hiển thị ví dụ. ]

Python có thể hiển thị HTML không?

Để hiển thị tệp HTML dưới dạng đầu ra python, chúng tôi sẽ sử dụng thư viện codec . Thư viện này được sử dụng để mở các tệp có mã hóa nhất định. Nó nhận một mã hóa tham số làm cho nó khác với hàm open[] tích hợp.

Làm cách nào để đọc tệp HTML bằng Python?

Python – Đọc các trang HTML .
Cài đặt BeautifulSoup. Sử dụng trình quản lý gói Anaconda để cài đặt gói cần thiết và các gói phụ thuộc của nó. .
Đọc tệp HTML. Trong ví dụ dưới đây, chúng tôi yêu cầu một url được tải vào môi trường python. .
Trích xuất giá trị thẻ. .
Trích xuất tất cả các thẻ

Trình xác thực HTML tốt nhất là gì?

15 Công cụ trực tuyến Trình xác thực HTML phổ biến nhất năm 2022 .
#1] Trình xác thực Nu HTML5. #2] Trình xác thực HTML của Aborla. #3] Tiến sĩ. .
Công cụ xác thực HTML cao cấp. #4] Tổng số Trình xác thực HTML. #5] Trình xác thực CSS HTML. .
Tiện ích mở rộng trình duyệt. #7] Trình xác thực HTML của Firefox. #8] Trình xác thực HTML cho Chrome. .
Trình xác thực HTML trực tuyến. #10] Trình xác thực WDG

Chủ Đề