私はとOnsen-ui
を使用して、ユーザーが有効な日付を記入する入力を含むモバイルページを作成しています。日付入力の有効性を確認するにはどうすればよいですか?
HTML::
<input type="date" autofocus class="search-input" name="dateInput" ng-model="date" ng-keyup="checkDate()"/>
JS:ここに私のコードです
function checkDateFn() {
if (Object.prototype.toString.call($scope.date) === '[object Date]') {
// it is a date
if (isNaN($scope.date.getTime())) { // d.valueOf() could also work
// date is not valid
}
else {
// date is valid
// DO SOMETHING
}
}
else {
// not a date
}
}
しかし、それは(私はなぜ知らない)有効な日付を取得できません。 。 私もHTML form
を使用することを試みたが、私はこれを書いた:
<form name="dateForm">
<input type="date" autofocus class="search-input" name="dateInput" ng-model="date"/>
</form>
しかし、この場合には、私はdateForm.dateInput.$valid
が発生したときに機能をトリガーする方法がわかりません。
私の目的を達成するためのより良い方法がありますか?
を追加することができますそれは汚いですが、あなたは常に '$腕時計(「dateForm.dateInputを設定することができます。$有効な形式を無効にすることができます'、watchHandler) 'おそらくもっと簡単な方法かもしれません。 – ryanyuyu
なぜか分かりませんが、最初のページが読み込まれてから、 'watchHandler'が開始されてからトリガーされます。 'dateForm.dateInput。$ valid'は日付の有効性をチェックするのか、それともフィールドがいっぱいであるのかをチェックしますか? – smartmouse
これにはng-patternを使用できます。 –