我想創建一個指令,檢查html日期提交中的輸入爲空 ,如果它爲空,則將其重置爲當前日期。 我不用用ng-change做這個檢查。日期驗證的角度指令
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">
而且當日期爲空時,我抹去的一年例如像, 我在得到一個錯誤控制檯:
指定值「Sun Sep 18 2016 21:41:34 GMT + 0300(Jerusalem Daylight Time)」不符合所需格式「yyyy-MM-dd」。
什麼是重置日期字段的適當方法?
感謝名單
嘗試'$ CTRL $ setViewValue;'。 – Claies
試試這個,它不會重置該字段。 雖然在控制檯中沒有錯誤。 – user384496
它被重置爲沒有日期,如:「mm/dd/yyy」我想將字段重置爲當前日期。 – user384496