Skip to main content
Chris Manners ha preguntado en #Apex
Hello,

I am not that great with Apex. I need a validation rule to fire if someone tries to complete a task without filling out a field on the parent record.

The requirements are:

Trigger on Task when Status = Completed AND (Task_Reference__c = 'L-739-5' OR 'L-739-10')

If Judgement Date is blank, THEN prevent from saving, fire validation rule message.

Here is my code:

trigger trgTaskJudgementDateCannotBeBlank on Task (before insert, before update) {

public Id trialId;

    for(Task t:Trigger.New){

        if(t.Status=='Completed' && (t.Task_Reference__c =='L-739-5' || t.Task_Reference__c =='L-739-10')){

            trialId = t.WhatId;

        }

    

        

    Trial__c[] jdate = [select Judgement_Date__c from Trial__c where id = :trialId];

    

    if(jdate == NULL){

        t.addError('Please enter a judgement date for this trial record');

    }

    

    }

}

 
2 respuestas
  1. 9 dic 2021, 5:10
    Hi Chrispother,

    Please use below code:-

     

    trigger trgTaskJudgementDateCannotBeBlank on Task (before insert, before update) {

    Set<Id> ids = new Set<Id>();

    for(Task t:Trigger.New){

    if(t.Status=='Completed' && (t.Task_Reference__c =='L-739-5' || t.Task_Reference__c =='L-739-10')){

    ids.add(t.WhatId);

    }

    List<Trial__c> trialObj = [select Judgement_Date__c from Trial__c where id IN: ids];

    for(Trial__c t: trialObj){

    if(t.Judgement_Date__c == NULL){

    t.addError('Please enter a judgement date for this trial record');

    }

    }

    }

    }

    if you need any assistanse, Please let me know!!

    Kindly mark my solution as the best answer if it helps you.

    Thanks

    Mukesh
0/9000