REST by nature is a "dumb" API. I would rather say: elegant in its simplicity. You GET data from a server and you PUT/POST it back or DELETE it. So every time you talk to REST, you have a server round trip - that is REST how it is build.
In XPages when your client (JavaScript) is requesting data via REST, that service doesn't interact with any of the components on the page, so checking a menu or setting a component's text has no impact on the REST call.
When you want to do client side validation you need to implement that in client side script otherwise you do have a server round trip (which might not be that bad actually).
I would, to be most flexible, use a custom REST service (also provided by the rest control) to create your own JSON that contains only
the items you actually need but adds info for your local validation code like {'requiredFields' : [{'name' : 'subject', 'message' : 'hey sorry, I need a subject to process this'}, {...}]}
and a status reply when you POST data back.
Check the sample database and the book.