FlaviusAetius 说:
After inflicting enough damage to Romans so that they cant raise an army in his future invasions.
cough Attila's invasion of 452 cough ! Where was Roman Army cough !
The only problem with that see is that the Roman's won the battle because they occupied the field which they sought to take. Anything which emerged as a result of the battle has nothing to do with that victory itself.
I agree with you mostly, but Lancer brought up a good point here.
You can say that Attila's real aim was to invade Italy and he failed so it was a defeat for him and I can say Attila's real aim was to have a bloody war with Romans therefore running them out of manpower so that he can invade them one year later.
We assume, perhaps too much, that the field of battle is the goal. However, it's entirely possible that Atilla, with an army composed of mainly allied Germanic troops, was merely taking advantage of the chance to deal a huge blow to the Roman military machine by destroying its reserves, allies, and leadership, which he did, while actually risking few of his own men due to his army mainly being composed of allies. If the goal for the entire campaign was to defeat the army rather than take/loot cities, you could see Catalonaum as a Hunnic victory, but I still say it was a costly one as it forced Atilla's retreat for a year.
Edit: A similar example which springs to mind would be Xenophon's march of the 10,000. I can't remember the name of the battle right now, but it was a civil war for control of the Persian Empire between two brothers. Xenophon's 10,000 Greek mercenaries fought for a brother called Cyrus the Younger, who was killed in the battle, but the Greek mercenaries managed to drive off the enemy forces, maintaining control of the field, a victory. However, the reason the war was being fought, who would sit on the throne, no longer mattered as the claimant supported by the Greeks was dead, a loss.