I am in the same boat here ... I have some examples of your exact behavior that work fine ...
and now one particular field will not behave ...
But, if I left the attribute "Required (AllowEmptyStrings = true)", everything will return to work just fine. Which, I think, is what I'm really looking for, since the attribute in question does not make much sense (required, but allows the user not to respond) .....
For me the question is more, why does it sometimes work, and sometimes not?
But with a mimic, deleting code like code should solve the problem for you.
source share