This isn't going to be covered by the rules of any game.
In all games players make mistakes, this is not the same as cheating, its simple human error and everyone does it at some point.
In all games it's up to the players to decide how to resolve this in as fair a way as possible without the need for 'forceably' making players do things which sounds like the enjoyment comes from being a rules lawyer and not actually playing the game!
In my regular gaming group we agree player can more or less undo anything provided that it doesn't affect anything another player would have done, and it hasn't involve drawing cards or rolling dice. As soon as a 'random` event happens you can't really say, 'oh I didn't mean to do that' when they don't like the result.
In your situation a player who drew a card before seeing a new card put themselves at a disadvantage as they denied themselves an option.
You can't really make a player put a card back and shuffle the deck as they now have information about a card that other players are not holding. Personally I would just let them keep that card but not let them take the discard as they played too early which is 'punishment' enough for a simple human error.