To keep client-side validations from blocking your actions, use an apex:actionRegion. <apex:actionRegion renderRegionOnly="false"> <apex:commandButton styleClass="slds-button slds-button_destructive" action="{!deleteAopRecord}" rerender="AreaOfPracticeFields,theOutPutPanel" value="Delete" ...


In your getEduRecords() method you only query the records if you haven't yet. This means that the rerender works with the old data. Remove the if (eduRecords == null) check and it should work fine.

Only top voted, non community-wiki answers of a minimum length are eligible