Oracle APEX - изменение состояния сеанса элементов, которые являются столбцами базы данных

У меня есть форма DML, где большинство полей являются столбцами базы данных. Одно из этих полей - Пользователь, является необязательным в базе данных и является элементом только для отображения на странице. На странице также есть элемент управления переключателем, и когда он установлен на Да, элемент P4_USER заполняется текущим именем пользователя, а когда он переключается на Нет, поле должно быть очищено.

Я установил динамическое действие при изменении элемента управления переключателем, чтобы установить значение элемента P4_USER и показать или скрыть его по мере необходимости, и он работает нормально. Но когда я отправляю форму, я получаю сообщение об ошибке:

Session state protection violation: This may be caused by manual alteration of protected page item P4_USER. If you are unsure what caused this error, please contact the application administrator for assistance.

Я хотел установить для атрибута Value Protected значение No, но этот атрибут существует только для скрытых полей, мой - Display Only. Есть ли обходные пути?


person Coding Duchess    schedule 06.03.2020    source источник


Ответы (2)


Элемент защищен, если установлен флажок «Отправить при отправке страницы».

введите здесь описание изображения

но вы хотите отправить данные элемента, я рекомендую использовать два элемента: один как дисплей только для отображения данных, а другой как скрытый элемент для отправки данных

person Edgar Streuli    schedule 06.03.2020

Вам необходимо изменить атрибут защиты состояния сеанса для элемента на «Неограниченный». Это находится в разделе «Безопасность» в атрибутах элемента.

person Tony Andrews    schedule 06.03.2020