This is a common interface conundrum. One solution that neatly skirts the line between intrusive and ineffective is to show an error indicator when the entry is invalid. You can then disable any action button (like OK) if there are any error indicators showing. A mouse over popup can then be used to show an error message and suggest a way to resolve the error.
A problem with "correcting" values is that where one value range depends on another value it can get really hard for a user to get all values to the state they want. Using the error indicator trick means values can be edited in any order and transient bad states simply don't matter.
Premature optimization is the root of all job security