Я бы выбрал вариант 1.
Представить входные данные без значения и изменить пароль только в том случае, если было введено какое-то значение
Это потому, чтона самом деле это не опция «изменить пароль», это действительно опция «установить пароль».Текущий хэш не отображается для пользователя с правами администратора.
Таким образом, в своем обновленном коде пользователя вы просто проверяете, установлено ли поле пароля, если да, хешируете новое значение и сохраняете новый хеш.
Примечание: это традиционно отличается от способа, которым пользователь (включая администратора) меняет свой собственный пароль.
В этом случае пользователю обычно предлагается ввести значение старого пароля, чтобы убедиться, что его нет.кто-то еще сталкивается с экраном, когда он уже вошел в систему. Но если вы хотите повторно использовать тот же экран (с другим условием where), то это не является существенным - просто то, что обычно делается.