По сигналу textChanged от редактора, проверили что ввели, если плохо, то подсветили редактор, написали ошибку в строку статуса, заблокировали Ok. А если все хорошо, то наоборот.
У меня была подобная реализация, когда полей много, ты их заполняешь по очереди, потом жамкаешь ок или ентер и видишь, что он выключен, и сходу и не сообразишь в чем дело, выходом стала подсветка красным как раз и хинт с текстом ошибки в момент набора.
И все равно приходится думать, что это я не так сделал, но программа позволила это сделать, а теперь недовольна?
Я думаю, что интерфейс не должен позволять выполнять некорректные действия.
А позволять их выполнять, но запрещать двигаться дальше вводя пользователя в ступор результат лени разработчика.