Puoi benissimo farli anche in javascript in modo da evitare il submit in caso di errori, ma è opportuno ripeterli sempre anche lato server.