Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular 2 Ionic 2 - How to set max or min date to today for date input?

 <input class="alert-input date-input" #dob="ngModel" name="dob" max="2018-03-07" [(ngModel)]="leadDetail.dob" type="date"></div>

How can I set the max date for today instead of 2018-03-07 dynamically?

I tried following methods-

 <input  max="today" type="date"></div>
 <input  max="{{today | date:'yyyy-mm-dd'}}" type="date"></div>

Class -

public today = new Date();

but no luck.

like image 352
Swapnil Patwa Avatar asked Apr 12 '17 10:04

Swapnil Patwa


2 Answers

Try this:

<input class="alert-input date-input" name="dob" [max]="today" type="date">


today = new Date().toJSON().split('T')[0];

Working Example Demo

Reason:

Because when you are using new Date() this will give you full date with time zone and time etc, you have to assign only Date so you have to split this with only Date. For more clarification run this:

console.log(new Date(), '----', new Date().toJSON());
like image 134
Pardeep Jain Avatar answered Sep 18 '22 22:09

Pardeep Jain


change mm to MM then the format but this will effect to the date you changed this wont help until unless its ngModel is bind to another variable

like image 37
avni_khanna Avatar answered Sep 21 '22 22:09

avni_khanna