Нужна помощь в отображении сообщения об ошибке на той же странице

Я создал триггер, который срабатывает при обновлении поля в кампании и запрещает пользователю оставлять поле «Комментарии» пустым при отклонении записи.

Вот мой код триггера:

trigger RequireRejectionComment on Campaign (before update)
{

    Map<Id, Campaign > rejectedStatements
            = new Map<Id, Campaign>{};

    for(Campaign inv: trigger.new)
    {

        Campaign oldInv = System.Trigger.oldMap.get(inv.Id);

        if ((oldInv.BR_ApprovalStatusRegulatory__c != 'Reprovado'
            && inv.BR_ApprovalStatusRegulatory__c == 'Reprovado')||
            (oldInv.BR_ApprovalStatusLegal__c!= 'Reprovado' && 
                inv.BR_ApprovalStatusLegal__c== 'Reprovado') )
        {
            rejectedStatements.put(inv.Id, inv);
        }


    }

    if (!rejectedStatements.isEmpty())
    {

        List<Id> processInstanceIds = new List<Id>{};

        for (Campaign invs : [SELECT (SELECT ID
                                       FROM ProcessInstances
                                       ORDER BY CreatedDate DESC
                                      LIMIT 1)
                               FROM Campaign
                               WHERE ID IN :rejectedStatements.keySet()])
        {
            processInstanceIds.add(invs.ProcessInstances[0].Id);
        }

        // Now that we have the most recent process instances, we can check
        // the most recent process steps for comments.
        for (ProcessInstance pi : [SELECT TargetObjectId,
                                          (SELECT Id, StepStatus, Comments
                                            FROM Steps
                                            ORDER BY CreatedDate DESC
                                           LIMIT 1 )
                                    FROM ProcessInstance
                                    WHERE Id IN :processInstanceIds
                                    ORDER BY CreatedDate DESC])
        {
            if ((pi.Steps[0].Comments == null ||
                pi.Steps[0].Comments.trim().length() == 0))
            {
                Trigger.new[0].parentId.addError(' My error Message  ');
                //rejectedStatements.get(pi.TargetObjectId).addError(
                // ' My error Message');
            }
        }
    }
}

Этот триггер работает нормально, но отображает сообщение об ошибке на новой странице.

Мое требование: сообщение об ошибке должно появляться в записи или на той же странице при отклонении записи.

Подскажите, спасибо..


person Prateek Jain    schedule 11.09.2015    source источник
comment
Привет, ребята, есть идеи по этому поводу??   -  person Prateek Jain    schedule 14.09.2015


Ответы (1)


Вы пытались создать проверку на самой странице вершины?

Вы можете установить для элемента страницы проверку, которая не позволяет отправить страницу, если указанный элемент страницы имеет значение NULL.

Ищите раздел проверки в разделе обработки страницы при редактировании своей страницы.

Вот ссылка на документацию по валидации:

https://docs.oracle.com/database/121/HTMDB/bldr_validate.htm#HTMDB28931

person Jashelb1990    schedule 14.09.2015
comment
Привет, Джашелб, спасибо за ваш ответ по этому поводу. Это какой-то внешний инструмент, который вы указываете здесь для создания проверки или его продаж, я могу реализовать это?? - person Prateek Jain; 15.09.2015
comment
Извините, я неправильно истолковал теги как ссылку на Oracle Apex, а не на код вершины Salesforce. Тем не менее, беглый просмотр этих страниц должен помочь вам. help.salesforce.com/ - person Jashelb1990; 15.09.2015