I am trying to add a custom error message to a VF page. My controller saves, but when I save my VF page without the checkbox field being checked, it saves anyway and bypasses the error condition in my controller. What am I doing wrong?
VF Page:
<apex:page standardController="Quote__c" extensions="QuoteExtController">
<apex:messages/>
<apex:form >
<apex:commandButton value="Save" action="{!save}"/>
<apex:pageblock>
Quote Name: <apex:InputField value="{!Quote__c.Name}"/>
Quote Check: <apex:InputField value="{!Quote__c.Must_Be_Checked__c}"/>
</apex:pageblock>
</apex:form>
</apex:page>
Controller Extension:
public with sharing class QuoteExtController {
private quote__c quote;
public QuoteExtController(ApexPages.StandardController stdController) {
this.quote = (Quote__c)stdController.getRecord();
}
public PageReference onSave() {
if(quote.Must_Be_Checked__c==TRUE) {
ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.ERROR,'Check field');
ApexPages.addMessage(myMsg);
return null;
} else if (quote.Id != null) {
insert quote;
}
return null;
}
}
<apex:pageMessages/>
– gNerb Aug 14 '18 at 15:13