The workaround can be implemented in a partial class of CommonEntityBase, which is an empty class which is generated between the generated entity classes and the base class.
I indeed see your point. It's a bit of a problem, where the fix should be placed and how:
a) calling the validator again?
or
b) clearing the error info.
Both require that the framework knows that external code set the error info (why otherwise call the validator, the value won't change anyway, and why clear the error info, the value is already set. )
Though I think option b is the better one, as calling the validator is simply not something logical to do (as the value won't be changed anyway as the current value is the same, so it's valid). Clearing the error info for the particular field is indeed something which should remove a lot of headaches I think.
It's funny, I ran into this recently with llblgen pro v3 where these kind of things (IDataErrorInfo etc.) is oursourced to specialized classes and member variables are stored in special member classes which are undo/redo aware. Anyway, everything worked fine, till a valid value was entered again, and I ran into the similar scenario, that I somehow had to clear the error info. I didn't make the link back to the runtime code which had the same 'flaw'.
I'll try to add the clear-error info call to the value setter.