How to read lightning:recordEditForm Object instead of using APIHow to get Created Record ID in...
Why do academics prefer Mac/Linux?
Why are lawsuits between the President and Congress not automatically sent to the Supreme Court
FIFO data structure in pure C
Working hours and productivity expectations for game artists and programmers
Would it be fair to use 1d30 (instead of rolling 2d20 and taking the higher die) for advantage rolls?
Holding rent money for my friend which amounts to over $10k?
AD: OU for system administrator accounts
How to read lightning:recordEditForm Object instead of using API
What are the effects of eating many berries from the Goodberry spell per day?
When did Britain learn about American independence?
Why do galaxies collide?
Why use a retrograde orbit?
Is there any deeper thematic meaning to the white horse that Arya finds in The Bells (S08E05)?
Does a non-singular matrix have a large minor with disjoint rows and columns and full rank?
Solenoid fastest possible release - for how long should reversed polarity be applied?
Pedaling at different gear ratios on flat terrain: what's the point?
Why does string strummed with finger sound different from the one strummed with pick?
How to generate a triangular grid from a list of points
How to handle professionally if colleagues has referred his relative and asking to take easy while taking interview
Would a "ring language" be possible?
How come Arya Stark didn't burn in Game of Thrones Season 8 Episode 5
How can I make dummy text (like lipsum) grey?
What formula to chose a nonlinear formula?
How can we delete item permanently without storing in Recycle Bin?
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;
}
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
add a comment |
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
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
4 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 hours ago
add a comment |
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
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
lightning fields field-update lightning-recordeditform field-dependencies
asked 4 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
4 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 hours ago
add a comment |
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
4 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 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
4 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
4 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 hours ago
add a comment |
2 Answers
2
active
oldest
votes
Found this (not the Best) workaround to get Object/field values.
- Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).
- Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm
- onSumbit event flushes the edited field values to my own sobject record instances.
- 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.
add a comment |
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 ).
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Found this (not the Best) workaround to get Object/field values.
- Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).
- Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm
- onSumbit event flushes the edited field values to my own sobject record instances.
- 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.
add a comment |
Found this (not the Best) workaround to get Object/field values.
- Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).
- Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm
- onSumbit event flushes the edited field values to my own sobject record instances.
- 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.
add a comment |
Found this (not the Best) workaround to get Object/field values.
- Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).
- Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm
- onSumbit event flushes the edited field values to my own sobject record instances.
- 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.
Found this (not the Best) workaround to get Object/field values.
- Instead of Wizard page buttons, used Next/Back buttons on each Lightning:RecordEditForm (bottom of page).
- Made the Next button type="submit", handled navigation in onClick() of button, now it fires onSubmit of RecordEditForm
- onSumbit event flushes the edited field values to my own sobject record instances.
- 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.
answered 3 hours ago
PsnEPsnE
98721333
98721333
add a comment |
add a comment |
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 ).
add a comment |
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 ).
add a comment |
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 ).
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 ).
answered 2 hours ago
gllsglls
12.3k72253
12.3k72253
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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
4 hours ago
Thanks @glls, found slightly better workaround to achieve it and added below as an answer.
– PsnE
3 hours ago