When I say, doesn't interfere, I mean it doesn't attach itself to input change events or form submit events. It also doesn't manipulate the DOM for you by automatically displaying errors.
ApproveJs exposes a single method, value() and leaves you to decide when a value is validated and how errors are displayed.
Using ApproveJs, you can automate validation however you please.
Personally, I use Vue.js and use bindings to handle when validation occurs and display any errors.
If you like to be in control or have a little OCD like me, ApproveJs is for you.
You can also easily extend ApproveJs with your own tests.