Asp.Net标记帮助程序type =“ date”允许年份多于4位数字

时间:2019-01-30 06:15:45

标签: c# razor asp.net-core html-helper

我正在使用asp.net核心标记帮助程序输入type =“ date”,它使我可以输入4位以上的数字。我曾尝试设置显示格式,但仍然允许我输入一年多于4位的数字,从而导致一年没有意义。

<input asp-for="@Model.BirthDate" placeholder="mm/dd/yyyy" class="form-control" type="date" required="">

其中BirthDate在我的模型中定义如下:

public DateTime? BirthDate { get; set; }

是的,我确实尝试将BirthDate更改为不可为空。

我可以在“输入”字段中输入以下内容: 08/01/2001999999 ,这将导致输入显示以下内容: 08/01/275760 。有没有一种方法可以强制标签助手在一年中只允许输入4位数字?

1 个答案:

答案 0 :(得分:0)

您应该使用-格式肯定取决于您希望用户输入值的格式。

asp-format="{0:yyyy-MM-dd}"

还要在Model属性上添加以下属性

 [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

希望这行得通。