日期时间类型的输入禁用当前日期之前的日期

Input of type date time disabling dates until current date

我有这个日历,我想禁用当前日期之前的所有日期:

在我的html

<div>
    <input asp-for="SelectedDate" id="SelectedDate"/>
</div>

在我的js文件中

$(document).ready(function () {
    var date = new Date();
    var currentMonth = date.getMonth();
    var currentDate = date.getDate();
    var currentYear = date.getFullYear();
    
    var minDate = new Date(currentMonth, currentDate, currentYear);
    
    $("#SelectedDate").attr("min", minDate);
});

后端:

[BindProperty]
public DateTime SelectedDate { get; set; }

我必须提到我正在使用 Razor Pages .Net Core。

问题是 min 属性不起作用。我尝试将它添加到我的 html 中进行这样的测试,但没有效果:

<input asp-for="SelectedDate" id="SelectedDate" min="05/11/2021"/>

是否有任何解决方法,以便我可以禁用所有日期直到当前日期?

编辑

在这个article里面可以看到如果要设置最小和最大时间,需要按照格式yyyy-MM-ddThh:mm,并且必须同时有minmax.

因此您可以像下面这样更改您的代码。

<input asp-for="SelectedDate" min="@DateTime.Now.ToString("yyyy-MM-ddThh:mm")"  max="2050-06-01T00:00" />