Client-side validation and JavaScript validation are essentially the same thing: they validate data on the client before it is sent back to the server.
Server-side validation, as the name suggests, runs on the server.
Client-side validation can be used to ensure data validates before submitting data to the server. This can help reduce network load, etc. But you should always validate your data on the server regardless of whether you use client-side validation or not e.g. a user may have JavaScript disabled and this would by-pass any client-side validation you tried to perform.