You need to sign in to do that
Don't have an account?
abu saleh khan 8
i want to update a field of my sobject. This value I am getting from lighting component page. Through client controller .value passed as a parameter to my server controller method. Value is passing but throwing nullpointer exceptioption.
Here is my code for password reset.
Component
<aura:component Controller="PasswordReset">
<aura:attribute name="passstore" type="String"/>
<lightning:input label="Enter New Password: " value="{!v.passstore}"/>
<lightning:button label="Reset" onclick="{!c.change}"/>
</aura:component>
Client-Controller
({
change : function(component, event, helper) {
var clntvar = component.get("v.passstore");
console.log('I am in first var: '+ clntvar);
var srvrvar = component.get("c.resetmthd");
console.log('m in second var: '+srvrvar);
srvrvar.setParams({srvrparmtr : clntvar});
console.log('Hi, I am srvr parameter '+ srvrvar);
srvrvar.setCallback(this,function(response){
var state = response.getState()
console.log('m in callback: '+state)
if(state === "SUCCESS"){
alert("Email sent to mentioned emailid: " + response.getReturnValue);
}
else if (state === "INCOMPLETE") {
alert("I am in incomplete");
// do something
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(srvrvar);
}
})
server-controller
public class PasswordReset {
@AuraEnabled
public static void resetmthd(String srvrparmtr){
List<Employee__c> emplst = new List<Employee__c>();
Employee__c empp = new Employee__c();
System.debug('hi m server method parameter: '+ ApexPages.currentPage().getParameters().get('id'));
empp = [SELECT id,Password__c FROM Employee__c WHERE id = :ApexPages.currentPage().getParameters().get('id')];
empp.password__c = srvrparmtr;
emplst.add(empp);
try{
update emplst;
}
Catch(Exception e){
System.debug('M in server controller '+ emplst);
System.debug('hi m server method parameter: '+ ApexPages.currentPage().getParameters().get('id'));
}
}
}
Component
<aura:component Controller="PasswordReset">
<aura:attribute name="passstore" type="String"/>
<lightning:input label="Enter New Password: " value="{!v.passstore}"/>
<lightning:button label="Reset" onclick="{!c.change}"/>
</aura:component>
Client-Controller
({
change : function(component, event, helper) {
var clntvar = component.get("v.passstore");
console.log('I am in first var: '+ clntvar);
var srvrvar = component.get("c.resetmthd");
console.log('m in second var: '+srvrvar);
srvrvar.setParams({srvrparmtr : clntvar});
console.log('Hi, I am srvr parameter '+ srvrvar);
srvrvar.setCallback(this,function(response){
var state = response.getState()
console.log('m in callback: '+state)
if(state === "SUCCESS"){
alert("Email sent to mentioned emailid: " + response.getReturnValue);
}
else if (state === "INCOMPLETE") {
alert("I am in incomplete");
// do something
}
else if (state === "ERROR") {
var errors = response.getError();
if (errors) {
if (errors[0] && errors[0].message) {
console.log("Error message: " +
errors[0].message);
}
} else {
console.log("Unknown error");
}
}
});
$A.enqueueAction(srvrvar);
}
})
server-controller
public class PasswordReset {
@AuraEnabled
public static void resetmthd(String srvrparmtr){
List<Employee__c> emplst = new List<Employee__c>();
Employee__c empp = new Employee__c();
System.debug('hi m server method parameter: '+ ApexPages.currentPage().getParameters().get('id'));
empp = [SELECT id,Password__c FROM Employee__c WHERE id = :ApexPages.currentPage().getParameters().get('id')];
empp.password__c = srvrparmtr;
emplst.add(empp);
try{
update emplst;
}
Catch(Exception e){
System.debug('M in server controller '+ emplst);
System.debug('hi m server method parameter: '+ ApexPages.currentPage().getParameters().get('id'));
}
}
}
You dnt get id here insted
Try this code