1from flex.datastructures import ( 2 ValidationDict, 3) 4 5from .multiple_of import ( 6 multiple_of_validator, 7 validate_type_for_multiple_of, 8) 9from .maximum import ( 10 maximum_validator, 11 exclusive_maximum_validator, 12 validate_maximum_is_gte_minimum, 13 validate_maximum_required_if_exclusive_maximum_set, 14 validate_type_for_maximum, 15) 16from .minimum import ( 17 minimum_validator, 18 exclusive_minimum_validator, 19 validate_minimum_required_if_exclusive_minimum_set, 20 validate_type_for_minimum, 21) 22from .min_length import ( 23 min_length_validator, 24 validate_type_for_min_length, 25) 26from .max_length import ( 27 max_length_validator, 28 validate_max_length_greater_than_or_equal_to_min_length, 29 validate_type_for_max_length, 30) 31from .pattern import ( 32 pattern_validator, 33) 34from .min_items import ( 35 min_items_validator, 36 validate_type_for_min_items, 37) 38from .max_items import ( 39 max_items_validator, 40 validate_max_items_greater_than_or_equal_to_min_items, 41 validate_type_for_max_items, 42) 43from .unique_items import ( 44 unique_items_validator, 45 validate_type_for_unique_items, 46) 47from .enum import ( 48 enum_validator, 49) 50 51 52field_validators = ValidationDict() 53 54field_validators.add_property_validator('multipleOf', multiple_of_validator) 55field_validators.add_property_validator('minimum', minimum_validator) 56field_validators.add_property_validator('maximum', maximum_validator) 57field_validators.add_property_validator('exclusiveMinimum', exclusive_minimum_validator) 58field_validators.add_property_validator('exclusiveMaximum', exclusive_maximum_validator) 59field_validators.add_property_validator('minLength', min_length_validator) 60field_validators.add_property_validator('maxLength', max_length_validator) 61field_validators.add_property_validator('pattern', pattern_validator) 62field_validators.add_property_validator('minItems', min_items_validator) 63field_validators.add_property_validator('maxItems', max_items_validator) 64field_validators.add_property_validator('uniqueItems', unique_items_validator) 65field_validators.add_property_validator('enum', enum_validator) 66 67 68non_field_validators = ValidationDict() 69 70non_field_validators.add_validator( 71 'maximum', validate_maximum_is_gte_minimum, 72) 73non_field_validators.add_validator( 74 'maximum', validate_maximum_required_if_exclusive_maximum_set, 75) 76non_field_validators.add_validator( 77 'minimum', validate_minimum_required_if_exclusive_minimum_set, 78) 79non_field_validators.add_validator( 80 'maxLength', validate_max_length_greater_than_or_equal_to_min_length, 81) 82non_field_validators.add_validator( 83 'maxItems', validate_max_items_greater_than_or_equal_to_min_items, 84) 85 86 87type_validators = ValidationDict() 88type_validators.add_validator( 89 'type', validate_type_for_multiple_of, 90) 91type_validators.add_validator( 92 'type', validate_type_for_maximum, 93) 94type_validators.add_validator( 95 'type', validate_type_for_minimum, 96) 97type_validators.add_validator( 98 'type', validate_type_for_max_length, 99) 100type_validators.add_validator( 101 'type', validate_type_for_min_length, 102) 103type_validators.add_validator( 104 'type', validate_type_for_max_items, 105) 106type_validators.add_validator( 107 'type', validate_type_for_min_items, 108) 109type_validators.add_validator( 110 'type', validate_type_for_unique_items, 111) 112