You can write a common API which is execute on valueCommit and does this.parent.validate(). And if that returns true, enable the button else skip that.
Alternate would be to listen to guideBridge event called elementValueChanged which wraps the field object in the event payload. And you could call the similar(as above) API and make the button visible/hidden.
Unfortunately, I don't have snippet available, but git it a shot.