This translation is grammatically incorrect. A native English speaker would never say "I had a bad dream at night." It is correct to say "I had a bad dream last night" or "I had a bad dream that night." Or, even "I had a bad dream tonight" depending on aspect.
I agree with Logan. Also, "I have bad dreams at night" would be acceptable.
But it could also be translated as I had a bad dream last night. It wouldn't be a literal translation, but it would be close in meaning.
It may be that Hebrew has a specific word for nightmare but in that case the question should use it. Because no English speaker would say "I had a bad dream at night". They'd only say "I had a nightmare". Whether you write היה לי חלום רע בלילה
or you write היה לי סיוט
the English would be the same
It's not unusual to hear people say that they had a bad dream. I personally am far more likely to say bad dream than nightmare. The "at night" part is wrong, though.
As a native English speaker l have to disagree with all the comments that said a native speaker would never say, "at night."