Angular cross field validation with template forms

When we are building a forms based application we often need to validate form fields in relation to other fields. If we have a simple form with two dates, start date and end date that looks like the following

<label>Start date:
<input type="date" name="startDate" [(ngModel)]="startDate" required>
<label>End date:
<input #endDateInput="ngModel" type="date" name="endDate" [(ngModel)]="endDate" required>