m0r94n said:"Based on" are the key words. Just cause its based on something doesnt mean it has to stick to every miniscule detail. There are thousands of films that could be criticised by your logic!
Whilst im here, did anyone notice the little error in the bit with the priests or whatever on the mountain. They say Leonidas cannot go to war in August, yet August was not a recognised calendar month until 8 BC. The Battle of Thermopylae was in 480 BC.
If they were going to get pedantic about minute details, then the line "Tonight we dine in Hell" should have been "Tonight we dine in Hades", as Hades was seen as the Greek underworld and the God of the Dead and is what Leonidas is actually purported to have said on the final day of the battle. Of course,this is hollywood and they are not going to be making sure every damn thing adheres to Greek tradition and historical accuracy are they, otherwise the vast majority of viewers wouldn't understand a thing.

They can't win, if they try and make it understandable they get criticised for not being historically accurate enough and if they stick to a stringently accurate script they will be moaned at for making it to complex.