Поддерживаю IAFedorov в рекомендациях.
Вы в ДД ограничиваете ряд аспектов реализации заранее.
Например, в соответствии с ДД невозможна дополнительная проверка данных формы на
сервере непосредственно перед вставкой в БД, хотя такая проверка лишней не будет.
Если проверка первого поля не тяжелая, то её можно делать на лету и по другим событиям,
что вообще избавит пользователе от необходимости "куда то там переводить фокус".
Мораль тут в том, что вы беретесь определять детали реализации и поэтому
должны обладать компетенцией не меньшей, чем у вашего ведущего разработчика.
Иначе можете навязать разработчикам не совсем удачные решения.
Ещё смущает, что если данные в первом поле не валидны, то система
просто перекидывает пользователя на то же поле и никак не сообщает о причине своего поведения.
Не находите что это может быть воспринято пользователем как "система глючит" ?
Мне видится, что д. б. сообщение пользователю от системы что не так с данными, которые он ввел.
Сейчас логика формы определена в вашей activity.
Скорее всего, логика этой формы, хотя бы частично, уже описывается в классе, который отвечает за эту форму.
Т.е. в вашей документации есть как минимум два разных места, касающиеся поведение этой формы.
Вот вы захотите развить форму впоследствии. Тогда придется специально отслеживать чтобы
в этих двух местах не создавалось конфликтов логики. Impact analysis никто не отменял,
но усложнять задачу заранее тоже не стоит.
Попробуйте отобразить в ДД ту логику, которую увидит только пользователь этой формы.
Всё остальное можно перенести в описание класса, отвечающего за эту форму.