Код выглядит нормально и должен работать нормально, при условии, что ваш валидатор правильно реализован.Признак получения ранее представленного значения 1-го поля пароля должен появляться только тогда, когда вы оставляете это поле пустым .Это потому, что вы передаете #{password.value}
, который будет содержать предыдущее значение в случае сбоя проверки.Вместо этого вы должны передать #{password.submittedValue}
, но это, в свою очередь, будет содержать null
, когда проверка пройдет успешно.
Если вы действительно получите предыдущее значение, когда вводите что-то еще в поле, то это, вероятно, вызвало ошибкучем-то другим, чем то, что вы показали в своем вопросе.Возможно, в реализации JSF или чем-то еще в вашем коде.Возможно, вы используете <f:ajax>
на командной кнопке и не рендеринге полей ввода.