@AOZ
So I would also consider then setting the DisplayMode on the button to: If(yourForm.Valid, Edit, Disabled)
If you want to do something more "fancy" for the users, then you can also do something like this, In the OnSelect of the button:
If(yourForm.Valid,
SubmitForm(yourForm);
UpdateContext({showErrors:false})
,
UpdateContext({showErrors:true})
)
Then, but labels in your Datacards to display an error message (you can refactor the ErrorMessage labels already there). Set the Visible property of the label to : !Parent.Valid && showErrors
This will allow the user to click the button once and then they will see any errors you might want to display if the datacard is not valid. The form will not submit until the form is valid.