Выбранный файл исчезает после проверки других полей - PullRequest
0 голосов
/ 12 ноября 2011

Я использую <rich:tabpanel> с 3 вкладками.На 2-й вкладке у меня 3 <rich:fileUpload> компонента.Все 3 поля обязательны для заполнения.Следовательно, я выполняю проверку в компоненте поддержки при отправке содержимого на странице.

Если я выберу файл в одном из компонентов загрузки файлов, а остальные 2 оставлю пустыми, я получу сообщения проверки для двух пустых компонентов, как и ожидалось.Однако первый компонент также повторно визуализируется и не сохраняет выбранный файл, даже если содержимое файла все еще сохраняется в свойстве компонента поддержки.

Как сохранить выбранный файл при повторном рендеринге?

1 Ответ

1 голос
/ 12 ноября 2011

Только не перерисовывайте сами поля ввода, а только держателей сообщений проверки. Это можно сделать с помощью <a4j:commandButton>, в котором вы указываете идентификаторы компонента (ов) сообщений в атрибуте reRender (я предполагаю, что вы используете RichFaces 3.3, а не 4.0, поскольку по умолчанию невозможно иметь выбор одного файла для загрузки файла в текущей версии 4.0).

Обратите внимание, что вам не нужно проверять необходимость в методе действия. Достаточно просто установить required="true" на входных компонентах.

...