Creating a Salesforce Record with Lightning Web Components and Apex Class
Utilize the lightning-input element to capture user input for Account Name, Phone, Rating, and Industry. Incorporate a lightning-button to invoke the JavaScript controller method responsible for creating the record. Implement an onchange handler for each lightning-input tag to retrieve the modified values in the JavaScript controller.

1. Create HTML Templete
<template>
<lightning-card title="Account Record Create Form" icon-name="standard:account">
<div class="slds-var-p-around_x-small">
<lightning-input value={recAccount.Name} label="Account Name" onchange={handelNamechange}></lightning-input>
<lightning-input value={recAccount.Phone} label="Phone" onchange={handelPhonechange}></lightning-input>
<lightning-input value={recAccount.Rating} label="Rating" onchange={handelRatingchange}></lightning-input>
<lightning-input value={recAccount.Industry} label="Industry" onchange={handelinduschange}></lightning-input>
<br/>
<lightning-button label="Save Account Rec" onclick={createAccRec} variant="brand"></lightning-button>
</div>
</lightning-card>
</template>
2. Create Javascript File.
import { LightningElement, track } from 'lwc';
import NAME_FIELD from '@salesforce/schema/Account.Name';
import PHONE_FIELD from '@salesforce/schema/Account.Phone';
import RATING_FIELD from '@salesforce/schema/Account.Rating';
import INDUSTRY_FIELD from '@salesforce/schema/Account.Industry';
import accountRecMethod from '@salesforce/apex/AccountRecHelper.accountRecMethod';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
export default class AccountRecCreation extends LightningElement {
@track name = NAME_FIELD;
@track phone = PHONE_FIELD;
@track rating = RATING_FIELD;
@track industry = INDUSTRY_FIELD;
recAccount = {
Name : this.name,
Phone : this.phone,
Rating : this.rating,
Industry: this.industry
}
handelNamechange(event){
this.recAccount.Name = event.target.value;
//console.log("name",this.recAccount.Name);
}
handelPhonechange(event){
this.recAccount.Phone = event.target.value;
// console.log("phone",this.recAccount.Phone);
}
handelRatingchange(event){
this.recAccount.Rating = event.target.value;
// console.log("email",this.recAccount.Rating);
}
handelinduschange(event){
this.recAccount.Industry = event.target.value;
//console.log("industry",this.recAccount.Industry);
}
createAccRec() {
debugger;
accountRecMethod({ accRec : this.recAccount })
.then(result => {
this.message = result;
this.error = undefined;
if(this.message !== undefined) {
this.recAccount.Name = '';
this.recAccount.Industry = '';
this.recAccount.Phone = '';
this.recAccount.Rating= '';
this.dispatchEvent(
new ShowToastEvent({
title: 'Success',
message: 'Account created',
variant: 'success',
}),
);
}
console.log(JSON.stringify(result));
console.log("result", this.message);
})
.catch(error => {
this.message = undefined;
this.error = error;
this.dispatchEvent(
new ShowToastEvent({
title: 'Error creating record',
message: error.body.message,
variant: 'error',
}),
);
console.log("error", JSON.stringify(this.error));
});
}
}
3. Create Apex Class
public with sharing class AccountRecHelper {
@AuraEnabled
public static Account accountRecMethod(Account accRec){
try {
insert accRec;
return accRec;
} catch (Exception e) {
throw new AuraHandledException(e.getMessage());
}
}
}
