Execution environment separation here is a way of running particular predicate functions and state callbacks only in the specified environment and is implemented with the aid of the following properties:
For example, asuming you use the same validation logic on both sides, on the client side you might need to perform UI effects connected to validations’ states, whereas on the server side logging on “invalid” to detect attempts to get around your client side validations. If the client side validations passed, the server side validations cannont fail.
Constraints separation
In some cases it may be useful to split a predicate function in two parts and execute one on the client and the other one on the server side.
Now assuming isEmailVacantC makes a request to the '/chkemail' url, the server code may look as following: