@Medix2 proposes a well-cited answer for the RAW scenario, but I will propose some solutions to turn this ruling in your party’s favor.
The cleric is putting a lot on that readied action: concentrating until their trigger occurs, and the potential loss of a spell slot if the trigger doesn’t occur. I think there are opportunities here to translate your cleric player’s intent into the game such that it both works the way they want, and plays nicely enough with the RAW.
From ‘Other Activity on Your Turn’ in the basic rules:
[…] You can communicate however you are able, through brief utterances and gestures, as you take Your Turn. […]
One way you could make this work, and potentially invite some combat roleplay, is to rule that the characters need to verbally coordinate such attacks, or create some other system of communicating this intent. The cleric holds their spell for the fighter’s signal and yells to the fighter ‘Let me know when!’; then the fighter, on their turn, yells to the cleric “Now!” while making a mad dash toward their target, sword in tow. This seems a clear enough ‘perceivable circumstance’ to act as a trigger, and eliminates the vague wording of “when the fighter starts to attack”.
If you have particularly roleplay-averse players, or if you want to introduce this method to them naturally, this character interaction could be described by you, the DM, to explain how the intended actions of the players can actually play out in the world in a way that is friendly with the rules. I feel that this is likely the best solution, as it both explains why the previous trigger didn’t work and sets a model to translate player intent to character action moving forward.
This ruling is less strictly rules-friendly, but is the way I rule readied action triggers in my own games. The term ‘perceivable circumstance’ is not a defined game term, and is subject to your interpretation. Because of this, I would allow an ambiguous trigger such as ‘when X starts to attack’, but consider the triggered spell/attack/movement a simultaneous effect with the attack. Xanathar’s Guide proposes an excellent way to handle Simultaneous Effects in Chapter 2:
[…] If two things happen at the same time on a character or monster’s turn, the person at the game table – whether player or DM – who controls that creature decides the order in which those things happen. […]
If you handle it this way, then the fighter can choose to allow the bolt to go off before their attack. And, as a bonus, if the cleric attempts to ready their action for when an enemy is about to attack, that enemy will probably decide that their attack resolves first, as the original readied action rules would have dictated. In RP terms, a cleric and a fighter who have been travelling and fighting together for some time would likely understand each others’ intents in combat better than they’d understand that random enemy they stumbled upon; in short: coordinating with teammates is easy, but enemies are unpredictable. This ruling changes very little about how readied actions work, yet allows a lot of Rules as Fun combat interactions that might not otherwise work.