I think this can be achieved even without a mandatory attribute.
We can write an Action script to check if the approver entered comments in a specific field.We would also check what action was performed. If Action performed was "rejected" and the approver did not fill in the desired field, return false, otherwise return true.
Then create a State Rule for Completed and choose this Action Script.
Now, if the approver clicks Reject, without filling in the desired field, Workflow will throw an Exception. You can enter your own message to be displayed with the exception in the State Rule.