0

I have a lookup field declared as below:

<apex:inputfield value="{!Product2.Opportunity__c}" id="prodoppr"/> 

wish to know how to add or handle event for this lookup field? When there is a change in the value I want to trigger method to perform certain validation and upate other fields....how can i achieve this? please any inputs?

1 Answer 1

1

You can use apex:actionSupport to listen for changes and respond accordingly. For example:

<apex:inputfield value="{!Product2.Opportunity__c}" id="prodoppr">
    <apex:actionsupport event="onchange" action="{!validateandupdate}" reRender="form" />
</apex:inputfield>

If you want to do client-side validation, you can also use apex:inputField's onchange attribute to support listening for changes to the lookup field.


Edit: The action attribute is used to determine the function to call. So, in this example, the function is named validateAndUpdate, which would look like this:

public void validateAndUpdate() {
    if(...) { // Some validations
        ApexPages.addMessage(...);
    } else {
        update someRecords;
    }
}

Appropriate error handling should also be part of such a function to avoid partial transactions by way of Database.setSavePoint and Database.rollback.

2
  • hi - could u provide some input on how to handle this in the controller class pls? Commented Oct 20, 2015 at 23:43
  • @PrabhuSethupathy I provided a very simple example for you.
    – sfdcfox
    Commented Oct 21, 2015 at 1:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .