The validation message applies to obj1/att, but once you switch objects the text box is showing you obj2/att. Obviously, it would be weird if the text box showed you a validation message for an entirely different object, so it doesn't. Object switching also does not 'count' as a save event, so the validation will not prevent you from triggering an object switch, it will wait for an actual commit before doing so.
Generally transactions that require validation are best modeled with a clear save flow to prevent exactly this problem. You probably want a clear save button in such cases, like in a separate data view or pop-up.