-
-
Notifications
You must be signed in to change notification settings - Fork 387
Open
Description
This is a copy of the third issue collected in #1206 to enable separate tracking of the bug.
The issue
When a validation error in one of the inner validators of deep_iterable
or deep_mapping
occurs, an exception is thrown but the contained message is wrong. For example, using the following code:
@define
class A:
x: List[str] = field(
validator=deep_iterable(
member_validator=[instance_of(str), min_len(1)],
iterable_validator=and_(instance_of(list), min_len(1)),
),
)
and calling A(["abc", ""])
, you get the following error:
ValueError: Length of 'x' must be => 1: 0
It rightfully complains about the length of the second item in the list, but note that the message refers to attribute name x, which is incorrect, since it's not x
that is too short but one of its items.
Metadata
Metadata
Assignees
Labels
No labels