Background: At my job, we develop web applications that are used by our internal customers. I build front-ends and work with someone else who handles the Java backend. One challenge in building these apps is when and where to validate user input.
Since the API will be accessible from potentially several different clients, we definitely need validations on the backend. Leaving it at that, the application would work, but the user experience is not ideal. An invalid value can only be discovered after submitting a form or taking action. We want to build UIs that can work dynamically to constrain inputs, show the user when something is not valid, and in some cases, provide dynamically generated options based on other selections.
This is where JSON predicate comes in.
Jump over to the github project to take a look.