You need to sign in to do that
Don't have an account?
Che SFDC
Help with Validation Rules on VF Page
Dear all, I`m new to apex and I would like to understand how can I add multiple validation rules to this extension. Our org has multiple validation rules and we would like to populate that on VF page. Can someone pls give me an example of how I can use multiple Try/Catch statements in dosave() method below. Whatever I`m trying is failing. Please help!!!
Thanks!
Thanks!
public with sharing class ExampleTP { String oppId; String ownerId; private final Opportunity Oppty; public ExampleTP (ApexPages.StandardController stdController) { oppId = stdController.getId(); Oppty = (Opportunity) stdController.getRecord(); ownerId = oppty.OwnerId; if(oppty.StageName == null) oppty.StageName = 'Identified Opportunity'; if(oppty.Probability == null) oppty.Probability = 0; } public transient Map<String, Decimal> probabilityStageNameMap; public PageReference changeStageName() { if (probabilityStageNameMap == null) { probabilityStageNameMap = new Map<String, Decimal>(); for (OpportunityStage oppStage : [Select MasterLabel, DefaultProbability From OpportunityStage]) { probabilityStageNameMap.put(oppStage.MasterLabel, oppStage.DefaultProbability); } } if (probabilityStageNameMap.containsKey(Oppty.StageName)) { Oppty.Probability = probabilityStageNameMap.get(Oppty.StageName); } return null; } public PageReference doSave() { Try { if (Oppty.LeadSource == 'Marketing Campaign' && Oppty.CampaignId == null ) { upsert oppty; return new PageReference('/' + 'apex/TPDynamicOppNEWLayout?oppId= + Oppty.Id'); } } catch(Exception e) { Apexpages.addMessage(new Apexpages.message(ApexPages.Severity.Error,'Campaign is required')); } return null; } }
If a user enters data on a Visualforce page that uses a custom controller, and that data causes a validation rule error, the error can be displayed on the Visualforce page. Like a page that uses a standard controller, if the validation rule error location is a field associated with an<apex:inputField> component, the error displays there. If the validation rule error location is set to the top of the page, use the <apex:messages> component within the <apex:page> to display the error. However, to get the information to the page, the custom controller must catch the exception.
You can always use try/catch block as below.
Let us know if it helps you.
All Answers
If a user enters data on a Visualforce page that uses a custom controller, and that data causes a validation rule error, the error can be displayed on the Visualforce page. Like a page that uses a standard controller, if the validation rule error location is a field associated with an<apex:inputField> component, the error displays there. If the validation rule error location is set to the top of the page, use the <apex:messages> component within the <apex:page> to display the error. However, to get the information to the page, the custom controller must catch the exception.
You can always use try/catch block as below.
Let us know if it helps you.