Does making this change in UserWorkForm not have any other implications? I've checked this in 7.1.7 and still this issue exists.
As per my analysis onClick of cancel button we are calling Review action . If we analyse the code a little further: inside Submit function(pega_ui_doc_submit) the strAction which is being passed as an argument upon click of Cancel button has an attribute
"skipClientValidations" which is set as true. This attribute might have been set(as name suggests) to surpass the client side validations.
if ((oActionURL.get("skipClientValidations")=="" || !(oActionURL.get("skipClientValidations"))) &&!strAction == "" && (pega.u.d.bClientValidforReviewAction || !(oActionURL.get("HarnessPurpose") && oActionURL.get("HarnessPurpose") == "Review"))). Tried this change by making a private edit of "pega_ui_doc_submit" and it worked fine.
My intention is adding pega.u.d.bClientValidforReviewAction = false; may have implications else where.
So what I think is there should have been an extra check in the if block of Submit function. Please do correct me if I'm wrong.
The skipClientValidations param is hardcoded to true for all Review actions. So the above change will have same effect as setting pega.u.d.bClientValidforReviewAction = false; and from 7.1.8 the review action on the cancel button is replaced with openworkbyhandle action, and it takes to review harness without validations.