我正在使用 asp.net 核心标签助手输入type="date",它允许我为我的年份输入超过 4 位数字。 我尝试设置显示格式,但我仍然可以为年份键入超过 4 位数字,导致年份没有意义。
<input asp-for="@Model.BirthDate" placeholder="mm/dd/yyyy" class="form-control" type="date" required="">
其中出生日期在我的模型中定义如下:
public DateTime? BirthDate { get; set; }
而且,是的,我确实尝试将出生日期更改为不可空。
我可以在输入字段中键入以下内容:08/01/2001999999,这导致输入显示以下内容:08/01/275760。 有没有办法强制标签帮助程序只允许年份的 4 位数字?
您应该
使用 - 格式肯定取决于您希望用户输入值的格式。
asp-format="{0:yyyy-MM-dd}"
还要在模型属性上添加以下属性
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
希望这有效。