Needing a page refresh for input validation degrades experience.
"Then you would have to maintain two code pathways in two different languages in two different locations if you need to update the validation rules."
Not necessarily. You can use the same exact code, in the same location written in the same language.