Yes it works correctly in this case!
I just did side by side:
I only filled out email and clicked submit.
Both (yours and mine) pages reloaded, but yours showed the error messages to complete the other fields and mine reloaded blank.
"The client-side (spry) validation only works when you click in and then out (blur) - this is how it is set up. The server-side (WA) validation should show error messages when form is submitted without required fields completed."
So then the client side validation works perfect, it is the server side validation that has an issue...