Цитата:
Сообщение от
LeonDerCom
Идет метод modified, перехватываем super и если остальной код для изменений - если условие не выполняется - то отменяем. Почему нет?
Как именно отменяем? Переприсваиваем старое значение? Такое поведение поля будет отличаться от стандарта.
Сигнатура метода validate:
Цитата:
boolean validate()
Сигнатура метода modified:
Система(ядро аксапты) не ждёт от метода modified ответного результата. А от validate ждёт. И если проверка validate возвращает ложь, то система блокирует потерю фокуса контролом, тем самым принуждая пользователя выбрать другое значение. В случае же вашего решения через modified фокус ввода может быть смещён пользователем, значение поля конечно вернётся на старое, но вот пользователю прийдётся вручную возвращаться к полю чтобы повторно ввести новое значение, а фокус в это время может попасть даже на другую вкладку

.
Можно конечно для запрета ввода определённого значения вызвать исключение из modified, так сказать аварийно завершить работу метода. Тогда это будет как-то похоже на поведение validate. Но это будет уже точно перебор. См пост от macklakov. Зачем делать похоже, если можно сделать как нужно