diff --git a/dataclass_type_validator/__init__.py b/dataclass_type_validator/__init__.py index 2e56944..a1abbd4 100644 --- a/dataclass_type_validator/__init__.py +++ b/dataclass_type_validator/__init__.py @@ -169,13 +169,15 @@ def dataclass_type_validator(target, strict: bool = False, enforce: bool = False def pydantic_type_validator(cls, values: dict, strict: bool = False, enforce: bool = False): fields = cls.__fields__.values() errors = {} + new_values = values for field in fields: + if field.name not in values.keys(): + continue field_name = field.name expected_type = field.type_ value = values[field_name] - err = _validate_types(expected_type=expected_type, value=value, strict=strict) - new_values = values + if err is not None: errors[field_name] = err if enforce: @@ -283,4 +285,4 @@ def validate_class(self): setattr(test_class, "v", "key") print(test_class) test_class.validate_class() - print(test_class) \ No newline at end of file + print(test_class)