Need .validate to prevent .change from firing

Need .validate to prevent .change from firing

Hello,

We are using the .validate() feature for built-in and custom validations.
We also have a .change() event listener which is competing with .validate()
I really need to prevent .change() from firing if a validation fails. .change() triggers an Ajax call--so it must occur only when input field is valid. We noticed that both listeners still fire

As a work around, I am calling the same validation logic from both listeners, but this isn't ideal for performance.
How can we make sure .change doesn't fire when .valid() check returns false?