Apart from refreshing only a portion of a page with Partial Page Rendering, another important property of "AJAX" or "Web 2.0" applications is that the validation of input takes place at the client—in other words, in the browser. From a user’s perspective, the advantage is that this type of validation is often faster. Another advantage for the user is that the validation can be triggered per field, so he or she gets an error message immediately if invalid data is entered.
From a developer’s perspective, an extra bonus of client-side validation is that it can save a lot of traffic to the server because a form will only be submitted when it is valid. On the other hand, a downside of client-side validation is that validation code gets spread over the project even more. And as a browser cannot run Java code locally, client-side validation code has to be written in JavaScript, the web browser’s language.
The good news is that we get a lot of client-side validation...