Есть тригер которые выдает ошибку если записываться к доктору на время которое уже занято.
trigger AppointmentTrigger on Appointment__c (before insert) {
List<Appointment__c> appoint = [
SELECT Appointment_Data__c
FROM Appointment__c
WHERE Appointment_Data__c = :Trigger.new[0].Appointment_Data__c
];
if (!appoint.isEmpty()) {
Trigger.new[0].addError('The Doctor already has an Appointment for this time');
}
И эта ошибка выдает вот такой вот огромный и некрасивый текст!
“Insert failed. First exception on row 0; first error: FIELD_CUSTOM_VALIDATION_EXCEPTION, The Doctor already has an Appointment for this time: []
Error is in expression ‘{!saveNewAppointment}’ in component apex:commandButton in page appointmenttable: Class.AppointmentController.saveNewAppointment: line 53, column 1”
Мне поставили задачу сделать сообщение об ошибке более дружелюбной и понятной конечному пользователю.
Подскажите пожалуйста как можно этого достичь?
Для наглядности прикреплю код контроллера и apex код
public PageReference saveNewAppointment() {
appt.Doctor__c=selectedDoctor;
appt.Patient__c=selectedPatient;
insert appt;
appt.clear();
PageReference pr = new PageReference('/apex/AppointmentTable');
pr.setRedirect(true);
return pr;
}
<apex:commandButton value="Add new appointment" action="{!saveNewAppointment}" />