По-человечески Вы уже сделпли - validate + modified. Просто при выходе за ограничения делаете return checkfailed. Иначе - пересчитываете другие поля и return true, при этом отрабатывает modified. Вам что, жалко рессурсов машины?
Да, надеюсь, обработка не длительная...
С Уважением,
Георгий.