ヌルを確認するディレクティブを作成したいと思います。 の入力をhtml日付フィールドに入力し、ヌルの場合は現在の日付にリセットします。 私はこの変更をng-changeで行うのに問題はありません。日付検証のためのangularディレクティブ
HTMLコード:
<input type="date" class="form-control" id="birthDate"
ng-model="vm.bDate" ng-change="vm.dateValid(vm.bDate)">
とコントローラのコード:
function dateValid(date) {
vm.bDate = date || new Date();
}
このコード作業は完全に罰金が、私は私のアプリの多くの日付フィールドを持っているので、私が手やりたいですディレクティブでの同じ結果
だから私はディレクティブを実装:
$element.on('blur', function() {
var pDate = Date.parse($ctrl.$modelValue);
if (isNaN(pDate) === true) {
$ctrl.$setViewValue(new Date());
$ctrl.$render();
}
});
とHTML:
<input type="date" class="form-control" id="birthDate" valid-date=""
ng-model="vm.bDate">
と私は例えば年に消去する場合、 は、私はエラーを取得するように日付がnullでありますコンソール:
指定された値 "Sun Sep 18 2016 21:41:34 GMT + 0300(エルサレム夏時間)"に準拠していません必要な形式 "yyyy-MM-dd"。
日付フィールドをリセットする適切な方法は何ですか?
ありがとう
'$ CTRLを試す$ setViewValue(。新しい日付()toLocaleDateString());'。 – Claies
これを試してください。フィールドはリセットされません。 コンソールにエラーはありません。 – user384496
「mm/dd/yyy」のように、日付をまったくリセットしません。フィールドを現在の日付にリセットします。 – user384496