min und max sind die besten Anlaufstellen, da es eben nativ in HTML integriert ist, wenn es damit geht, dann damit.
Ansonsten sollte man bei angular einen validator schreiben, der den ngModel direkt prüft, damit der Eintrag im Formular (das deinen gezeigten Code vermutlich wrappt?) als invalid markiert würde und man das sowohl prüfen kann vor absenden als auch anzeigen, dass ein Fehler vorliegt (das geht auch direkt am Eingabefeld, je nachdem wie man das präferiert).
Was mich aber wundert, dass du ausgerechnet bei Angular nicht weißt, wie du den Wert prüfst, zugreifen auf ihn kannst du natürlich in deiner Component-Class, du hast ja selbst das ngModel auf
datetime
gebunden.
Ist denn da nur ein Datepicker oder auch (oder nur) Ein Eingabefeld für das Datum? Bei Eingabefeldern kann man das
min
auch immer mal überlisten, dann bräuchtest du wie gesagt einen custom validator.
Es gibt zwar diverse Wege das zu lösen, aber je nach Anwendungsfall empfiehlt sich meist eine Variante.
tl;dr:
Willst du immer sofort auf Gültigkeit abprüfen, validiere es mit
min
, wenn du es nur beim Absenden prüfen willst, checke beim Absenden den Wert und geb dann eine Fehlermeldung aus.
Ergänzung:
min
und
max
sind auch in Angular intregrierte Validatoren, die mit inputs umgehen können, aber in normaler Verwendung wie erwähnt Standard-HTML Validatorattribute.
So genug auf dich losgegangen

Hoffe das hilft mehr als das es verwirrt.
PS: Angular Material ist in der Tat ein schönes UI Framework, aber das mit Bootstrap zu mischen (deinem HTML nach zu urteilen) scheint bedingt sinnvoll zu sein, und auch dort muss man validieren, weil man ins Eingabefeld erstmal beliebige Werte eintragen / einfügen kann, und man muss noch Acht auf die Formatierung (= Lokalisierung) geben..