I got 3 lightning:recordEditForm components on a wizard (3 pages handled by slds-hide/show) to capture details. At the last wizard page it must save first object, and 2nd object must get first object's Id to save (as dependent object), and so does 3rd wizard page object (needs first and second object ids).
In summary There are 3 dependent objects on 3 consecutive pages accordingly which needs to be saved at final page submission.
I'm trying to get the Object/field values on each Object at last page, and send it to Apex controller for validations, further process and saving in one transaction.
This looks hard to achieve as it seems lightning:recordEditForm does not have an easy way to access the associated Object record instance.
I tried to use force:RecordData but still it seems does not update the values.
Lightning component code segment (Wizard page)
<aura:attribute name="fdw" type="Object"/>
<div aura:id="contactPage" class="{!(v.currentStep==1) ? '' : 'slds-hide' }">
<force:recordData aura:id="recordContactLoader"
recordId="{!v.fdw.con.Id}"
targetFields="{!v.fdw.con}"
/>
<lightning:recordEditForm aura:id="conRecEdit" objectApiName="Contact" recordId="{!v.fdw.con.Id}">
<lightning:messages />
<aura:iteration items="{!v.fdw.formCon.fieldRows}" var="fr">
<lightning:layout>
<aura:iteration items="{!fr.fields}" var="f">
<lightning:layoutItem flexibility="auto" padding="around-small">
<lightning:inputField fieldName="{!f.APIName}" />
</lightning:layoutItem>
</aura:iteration>
</lightning:layout>
</aura:iteration>
</lightning:recordEditForm>
</div>
Next button code
goNext: function(component, event, helper) {
var currentStep = component.get("v.currentStep");
if (currentStep < 4)
component.set("v.currentStep", currentStep + 1);
var fdw = component.get("v.fdw");
console.log('fdw.con '+JSON.stringify(fdw.con));
var conEd = component.find("conRecEdit");
console.log(conEd.get("v.body"));
},
My question is simply, how to read the Object/fields associated with each of Lightning:RecordEditForms?
Note: It seems not possible to use Submit() or onSubmit() as I need custom validations, dependent object updates while saving.
In the meantime I'm now trying to read component's body, and find way to read fields and their values at last resort.
Any helpful thoughts, suggestions are much appreciated. Thanks!