“run” method in RecordSaveHandlerInterface return “void”, so your object cannot return information to gui (like validation error information)
namespace App\Data\Service\Record\RecordSaveHandlers;
use App\Data\Entity\Record;
use App\FieldDefinitions\Entity\FieldDefinition;
interface RecordSaveHandlerInterface extends BaseModuleSaveHandlerInterface
{
/**
* Run save handler
* @param Record|null $previousVersion
* @param Record $inputRecord
* @param Record|null $savedRecord
* @param FieldDefinition $fieldDefinition
* @return void
*/
public function run(?Record $previousVersion, Record $inputRecord, ?Record $savedRecord, FieldDefinition $fieldDefinition): void;
}
If you need frontend validation use Front-end Logic Examples :: SuiteCRM Documentation
If you need backend validation please upvote my suggestion Backend field validation
Time ago I made a sort of backend validation with 7.x LogicHooks Logic Hooks :: SuiteCRM Documentation using
SugarApplication::appendErrorMessage('Enter your message string');