title: ngbDatepicker : Differentiate between invalid date format and out of range(minDate/maxDate) value for user feedback
body: <p>I have a jHipster app, and this is the birth date input field :</p>
  
  <pre><code>&lt;div class="form-group"&gt;
      &lt;label class="form-control-label" for="field_birthDate"&gt;Birth Date&lt;/label&gt;
      &lt;div class="input-group"&gt;
          &lt;input id="field_birthDate" type="text" class="form-control" name="birthDate" ngbDatepicker  #birthDateDp="ngbDatepicker" [(ngModel)]="registerAccount.birthDate"
          required #birthDate="ngModel" placeholder="yyyy-mm-dd" [minDate]="birthDateValidation.minDate" [maxDate]="birthDateValidation.maxDate" pattern="(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))"/&gt;
          &lt;span class="input-group-append"&gt;
              &lt;button type="button" class="btn btn-secondary" (click)="birthDateDp.toggle()"&gt;&lt;i class="fa fa-calendar"&gt;&lt;/i&gt;&lt;/button&gt;
          &lt;/span&gt;
      &lt;/div&gt;
      &lt;div *ngIf="birthDate.dirty &amp;&amp; birthDate.invalid"&gt;
          &lt;small class="form-text text-danger" *ngIf="birthDate.errors.required"&gt;
              Your birth date is required.
          &lt;/small&gt;
          &lt;small class="form-text text-danger" *ngIf="birthDate.errors.pattern"&gt;
              Your birth date must be a valid date (Ex: yyyy-mm-dd).
          &lt;/small&gt;
          &lt;small class="form-text text-danger" *ngIf="!birthDate.errors.required &amp;&amp; !birthDate.errors.pattern"&gt;
              Your age must be between 18 and 100.
          &lt;/small&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>The problem with this solution is when i add a "pattern" to the input field no matter what value i enter, it's always considered as invalid. (most likely because the "pattern" attribute is incompatible with the "ngbDatepicker" attribute)</p>
  
  <p>My question : is there an alternative where i can differentiate between a value with an invalid format (other than 'yyyy-mm-dd') and a value out of range specified in minDate/maxDate for better user feedback ?</p>