You can use below expression to fetch Custom Label in trigger
String labelForDisease = Label.Label_for_Disease_Condition
/UserInfo.getUserId() will return the Id of the Current User executing the transaction/
Map<Id, User> userMap = new Map<Id, User>([SELECT Id, LHJ__c, Opted_In_To_Cross_Jurisdiction_Sharing__c FROM User WHERE Id = :UserInfo.getUserId()]);
/UserInfo.getUserRoleId() returns the context user's role ID./
Map<Id, UserRole> userRoleMap = new Map<Id, UserRole>([SELECT Id, DeveloperName FROM UserRole WHERE Id = :UserInfo.getUserRoleId()]);
Iterate on the Trigger.New List and use if blocks to check conditions and inside the if blocks you may use addError('Error Message') method to throw an error if the condition fails and the record will not update.
For Example:
trigger TriggerName on Object_Name__c (before insert, before update){ //Must be on Before Insert and before update events
Map<Id, User> userMap = new Map<Id, User>([SELECT Id, LHJ__c, Opted_In_To_Cross_Jurisdiction_Sharing__c FROM User WHERE Id = :UserInfo.getUserId()]);
Map<Id, UserRole> userRoleMap = new Map<Id, UserRole>([SELECT Id, DeveloperName FROM UserRole WHERE Id = :UserInfo.getUserRoleId()]);
String labelForDisease = = Label.Label_for_Disease_Condition;
for(Object_Name__c rec: Trigger.New){
if (!userMap.get(UserInfo.getUserId()).LHJ__c.contains(rec.CA_Local_Health_Jurisdiction__c)) {
rec.addError('Validation error Message');
}
if (record.LR_Disease_Condition__c != labelForDisease) {
rec.addError('LR Disease Condition is not correct');
}
}
}
Add more if blocks as per your validation rule.