TL;DR:
Domain Driven Design has a flaw: not all types can be categorized into "valid" and "invalid", since it often depends on context.
Solution: you just haven't modeled your domain correctly. You have a type for "MyData" but you don't have a type for "MyDataThatIsBeingEditedByTheUser".
So the "final" type should be valid, but often you should have intermediate type(s) that model incomplete input.
Basically, when doing DDD don't forget your builder types.
no comments (yet)