Using asynchronous server-side validation
Many validation checks can only be performed at the server side. The following are the examples:
When validating a user registration form, we need to check if the entered username is available
When the user enters a postal address, we might need to ask an external service to verify if the address is correct
The problem with server-side validation checks is that they need to be asynchronous. As a result, they cannot be written in JavaScript as functions that return validation results.
To solve this problem, in this recipe we're going to make a validator that uses the continuation-passing style. The example has a username input field that is validated against the server. The server checks if the username is available for registration or already occupied by another user.
Getting ready
We're going to briefly look at the continuation-passing style. It's a style used by most of the JavaScript libraries for asynchronous operations, for example, server communication...