結論
input type="date", "time"を利用する際に、以下のプロパティを使うことで、入力値が正常かどうか(途中までしか入力されていないか)のチェックができます。
validity.badInput
https://developer.mozilla.org/ja/docs/Web/API/ValidityState/badInput
実装サンプル
var isBadInput = document.getElementById('').validity.badInput;
if (isBadInput) {
console.log('正しい形式で入力してください。');
}
input type="date", "time"を使わずにdatepickerなどで実装したほうがリッチになるかと思いますが、シンプルな機能でよければこれで十分かと思います。