How to read lightning:recordEditForm Object instead of using APIHow to get Created Record ID in Lightning:recordEditForm?Editing related records using lightning:recordEditFormIs it possible to use lightning:recordEditForm dynamically on different object types with variable objectApiName?How to use $A.createComponents() on lightning:recordEditForm with nested lightning:inputField?How to update picklist using REST APIDoes lightning:recordEditForm work for more then one object?How to Re-submit the lightning:recordEditForm after event.preventDefault()How to do field validation on lightning:recordEditForm with lightning:inputFieldLookup Filters in custom lightning:recordeditform lightning:inputfield using prepopulated valuesCan't change case Owner in Aura using <lightning:recordEditForm>

Iterate lines of string variable in bash

Why are there five extra turns in tournament Magic?

What formula to chose a nonlinear formula?

Polynomial division: Is this trick obvious?

Why doesn't Iron Man's action affect this person in Endgame?

Why do galaxies collide?

Canadian citizen who is presently in litigation with a US-based company

A person lacking money who shows off a lot

What would a Dragon have to exhale to cause rain?

How to read lightning:recordEditForm Object instead of using API

Does a non-singular matrix have a large minor with disjoint rows and columns and full rank?

Why use a retrograde orbit?

When did Britain learn about American independence?

He is the first man to arrive here

Divisor Rich and Poor Numbers

Why did nobody know who the Lord of this region was?

Given 0s on Assignments with suspected and dismissed cheating?

Why does string strummed with finger sound different from the one strummed with pick?

How long do Aarakocra live?

Is there any deeper thematic meaning to the white horse that Arya finds in The Bells (S08E05)?

Why can't I share a one use code with anyone else?

Do we see some Unsullied doing this in S08E05?

Why does the U.S military use mercenaries?

How to know the path of a particular software?



How to read lightning:recordEditForm Object instead of using API


How to get Created Record ID in Lightning:recordEditForm?Editing related records using lightning:recordEditFormIs it possible to use lightning:recordEditForm dynamically on different object types with variable objectApiName?How to use $A.createComponents() on lightning:recordEditForm with nested lightning:inputField?How to update picklist using REST APIDoes lightning:recordEditForm work for more then one object?How to Re-submit the lightning:recordEditForm after event.preventDefault()How to do field validation on lightning:recordEditForm with lightning:inputFieldLookup Filters in custom lightning:recordeditform lightning:inputfield using prepopulated valuesCan't change case Owner in Aura using <lightning:recordEditForm>






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















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!










share|improve this question

















  • 2





    normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

    – glls
    5 hours ago











  • Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

    – PsnE
    4 hours ago

















3















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!










share|improve this question

















  • 2





    normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

    – glls
    5 hours ago











  • Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

    – PsnE
    4 hours ago













3












3








3








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!










share|improve this question














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!







lightning fields field-update lightning-recordeditform field-dependencies






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 6 hours ago









PsnEPsnE

98721333




98721333







  • 2





    normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

    – glls
    5 hours ago











  • Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

    – PsnE
    4 hours ago












  • 2





    normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

    – glls
    5 hours ago











  • Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

    – PsnE
    4 hours ago







2




2





normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

– glls
5 hours ago





normally, you would have an aura:id on your fields, and then iterate over the array returned from cmp.find to check field values, otherwise, store the field name/values in an attribute, and fetch them on goNext

– glls
5 hours ago













Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

– PsnE
4 hours ago





Thanks @glls, found slightly better workaround to achieve it and added below as an answer.

– PsnE
4 hours ago










2 Answers
2






active

oldest

votes


















1














Found this (not the Best) workaround to get Object/field values.



  1. Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).

  2. Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm

  3. onSumbit event flushes the edited field values to my own sobject record instances.

  4. Finally on Save button, going to use own method call to Apex to save all objects in one call.

Note: submit() method call of Lightning:RecordEditForm doesn't seem to fire it's onSumbit event.






share|improve this answer






























    1














    Normally, for client side validaiton of input fields/values in lighting:recordEditForm's, I add an aura:id to the fields, and or/do my "validation" on field change or blur.



    This is generally more intuitive than having to wait for clicking on next to see if any fields are not properly filled in.



    If for whatever reason you need to perform the validation all at once, as you are doing, then, I generally use cmp.find('auraid') and iterate over the fields to do the necessary validations.



    Its not clear wht type of validation(s) you are doing, so, its hard to advise the best way to do so, but as you mentioned, the object is accessible only on submit or after successfully submiting the form.



    Genrerally speaking, you want to avoid using apex when leveraging this component (I mean, after all, in part, its the point of using it =P ).






    share|improve this answer























      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "459"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f262596%2fhow-to-read-lightningrecordeditform-object-instead-of-using-api%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      1














      Found this (not the Best) workaround to get Object/field values.



      1. Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).

      2. Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm

      3. onSumbit event flushes the edited field values to my own sobject record instances.

      4. Finally on Save button, going to use own method call to Apex to save all objects in one call.

      Note: submit() method call of Lightning:RecordEditForm doesn't seem to fire it's onSumbit event.






      share|improve this answer



























        1














        Found this (not the Best) workaround to get Object/field values.



        1. Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).

        2. Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm

        3. onSumbit event flushes the edited field values to my own sobject record instances.

        4. Finally on Save button, going to use own method call to Apex to save all objects in one call.

        Note: submit() method call of Lightning:RecordEditForm doesn't seem to fire it's onSumbit event.






        share|improve this answer

























          1












          1








          1







          Found this (not the Best) workaround to get Object/field values.



          1. Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).

          2. Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm

          3. onSumbit event flushes the edited field values to my own sobject record instances.

          4. Finally on Save button, going to use own method call to Apex to save all objects in one call.

          Note: submit() method call of Lightning:RecordEditForm doesn't seem to fire it's onSumbit event.






          share|improve this answer













          Found this (not the Best) workaround to get Object/field values.



          1. Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).

          2. Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm

          3. onSumbit event flushes the edited field values to my own sobject record instances.

          4. Finally on Save button, going to use own method call to Apex to save all objects in one call.

          Note: submit() method call of Lightning:RecordEditForm doesn't seem to fire it's onSumbit event.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 4 hours ago









          PsnEPsnE

          98721333




          98721333























              1














              Normally, for client side validaiton of input fields/values in lighting:recordEditForm's, I add an aura:id to the fields, and or/do my "validation" on field change or blur.



              This is generally more intuitive than having to wait for clicking on next to see if any fields are not properly filled in.



              If for whatever reason you need to perform the validation all at once, as you are doing, then, I generally use cmp.find('auraid') and iterate over the fields to do the necessary validations.



              Its not clear wht type of validation(s) you are doing, so, its hard to advise the best way to do so, but as you mentioned, the object is accessible only on submit or after successfully submiting the form.



              Genrerally speaking, you want to avoid using apex when leveraging this component (I mean, after all, in part, its the point of using it =P ).






              share|improve this answer



























                1














                Normally, for client side validaiton of input fields/values in lighting:recordEditForm's, I add an aura:id to the fields, and or/do my "validation" on field change or blur.



                This is generally more intuitive than having to wait for clicking on next to see if any fields are not properly filled in.



                If for whatever reason you need to perform the validation all at once, as you are doing, then, I generally use cmp.find('auraid') and iterate over the fields to do the necessary validations.



                Its not clear wht type of validation(s) you are doing, so, its hard to advise the best way to do so, but as you mentioned, the object is accessible only on submit or after successfully submiting the form.



                Genrerally speaking, you want to avoid using apex when leveraging this component (I mean, after all, in part, its the point of using it =P ).






                share|improve this answer

























                  1












                  1








                  1







                  Normally, for client side validaiton of input fields/values in lighting:recordEditForm's, I add an aura:id to the fields, and or/do my "validation" on field change or blur.



                  This is generally more intuitive than having to wait for clicking on next to see if any fields are not properly filled in.



                  If for whatever reason you need to perform the validation all at once, as you are doing, then, I generally use cmp.find('auraid') and iterate over the fields to do the necessary validations.



                  Its not clear wht type of validation(s) you are doing, so, its hard to advise the best way to do so, but as you mentioned, the object is accessible only on submit or after successfully submiting the form.



                  Genrerally speaking, you want to avoid using apex when leveraging this component (I mean, after all, in part, its the point of using it =P ).






                  share|improve this answer













                  Normally, for client side validaiton of input fields/values in lighting:recordEditForm's, I add an aura:id to the fields, and or/do my "validation" on field change or blur.



                  This is generally more intuitive than having to wait for clicking on next to see if any fields are not properly filled in.



                  If for whatever reason you need to perform the validation all at once, as you are doing, then, I generally use cmp.find('auraid') and iterate over the fields to do the necessary validations.



                  Its not clear wht type of validation(s) you are doing, so, its hard to advise the best way to do so, but as you mentioned, the object is accessible only on submit or after successfully submiting the form.



                  Genrerally speaking, you want to avoid using apex when leveraging this component (I mean, after all, in part, its the point of using it =P ).







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 3 hours ago









                  gllsglls

                  12.3k72253




                  12.3k72253



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Salesforce Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f262596%2fhow-to-read-lightningrecordeditform-object-instead-of-using-api%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

                      Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

                      Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її