Hi! Ok, so you have some options here. I generally have a status field in my form (you don't have to show it on the form, just have it in the data source) - and you'll need that for either of these approaches.
To use custom validation rules:
When the Requester submits, set the status to "Requested" (or whatever makes sense to you). Add a form load rule (under the data tab on the ribbon) that when the form's status = Requested, set form status to Approval In Process (or whatever makes sense to you...) Next, on the fields that are required for the Approver view, you can use validation rules - and set those rules to things like "FieldA is blank and FormStatus = Approval In Process" the field is required. The reason we have to change the status on load is that if you set the status to Requested, and your validation rules use that status, you won't be able to submit - so set a placeholder status, then leverage that in Form Load to set a status for this "session" - then you can use that status + validation rules, which gives you all the goodness of built in validation. Same for the next step - approver submits, status is set to Approved, when opened the next time, status get set to... I dunno, Processing In Process or whatever, and your validation rules for those fields use that status.
To just block submit:
When the Requester submits, set the status to "Requested". In the Approver view, disable the submit button if the status = Requested and the fields you want filled out are blank. Then they have to fill in the fields to click the button. When they submit from the approval view, set the status to Approved and so on.
You'll need to use submit rules to set a field's value prior to submitting - those are under the submit options.