ADF - Откатить текущую строку, если поле пусто на уходящей странице - PullRequest
0 голосов
/ 03 июня 2018

У меня есть форма с одним полем из объекта представления, основанного на объекте объекта.Остальные поля таблицы имеют значения по умолчанию.Я даю значения по умолчанию для метода EOImpl.create.Когда страница загружается, объект представления выполняется с параметрами, и если есть результат, он находится в режиме редактирования, и если результата нет, я вызываю createInsertRow.

<invokeAction id="executeWithParams" Binds="ExecuteWithParams"
     RefreshCondition="#{bindings.MyVO1Iterator.estimatedRowCount != 0}"
     Refresh="default"/>
<invokeAction id="createInsert" Binds="CreateInsert"
     RefreshCondition="#{bindings.MyVO1Iterator.estimatedRowCount == 0}"
     Refresh="default"/>
<action IterBinding="MyVO1Iterator" id="CreateInsert" 
    InstanceName="MyAppModuleDataControl.MyVO1"
    DataControl="MyAppModuleDataControl"
    RequiresUpdateModel="true" Action="ExecuteWithParams"/>
<action IterBinding="MyVO1Iterator" id="CreateInsert" 
    InstanceName="MyAppModuleDataControl.MyVO1"
    DataControl="MyAppModuleDataControl"
    RequiresUpdateModel="true" Action="executeWithParams"/>
<NamedData NDName="" NDvalue="" NDType=""/>

У меня проблема с порядком выполнения (создание вставки запускается при втором входе на страницу).Другая проблема, с которой я столкнулся, заключается в том, что если пользователь не вводит данные в поле, я хочу откатить строку без каких-либо ошибок валидации, но похоже, что валидация происходит (возможно, потому что я задаю поля по умолчанию?)

Я также попытался вызвать строку create из класса VOImpl на основе условия .first () == null.Это работает правильно для моей первой ошибки, но я все еще получаю ошибку проверки при выходе из страницы.

Чего мне не хватает?

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Здесь я предполагаю, что вы пытаетесь выполнить какую-то операцию DML на вашем VO.Я предлагаю здесь включить вашу страницу в ограниченный поток задач.Таким образом, вы получите контроль над своей страницей перед вызовом страницы и после выхода из нее.

Операция отката, которую вы можете вызвать для метода Finalizer потока задач.enter image description here

Для транзакций используется ограниченный поток задач.Мое предложение будет использовать ограниченный поток задач, когда вы делаете какую-либо транзакцию, а также вы можете защитить страницы.

ограниченный поток задач по сравнению с неограниченным потоком задач в ADF

Пустья знаю, если это не ясно, или нужна дополнительная информация.

...