如何使日期选择器处于未填充状态(其值为null)
本文关键字:null 状态 填充 日期 何使 选择器 于未 | 更新日期: 2023-09-27 18:26:41
我正在开发一个ASP.NET MVC 5网站。我有一个员工模型,看起来像这样:
public class Employee
{
public EmployeeID {get;set;}
//... other properties such as FirstName, Salary which are not important right now
public DateTime? EndingDate {get; set;} //this is important
}
视图的相应部分如下:
<div class="form-group">
@Html.LabelFor(model => model.EndingDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input name="endingDate" type="date" class="form-control datepicker" />
@Html.ValidationMessageFor(model => model.EndingDate, "", new { @class = "text-danger" })
</div>
</div>
正如您所看到的,EndingDate可以为null,因为我不必填写EndingDate字段。如果我想在不填写EndingDate的情况下创建一名员工,我会收到一个验证错误,这是有道理的,因为在日期选择器上,值正是下面的dd.mm.yyy。这种情况发生在谷歌Chrome上。在Mozilla上,它默认为null,但表现得像一个文本框,而不是日期选择器。我使用的是bootstrapper-css类,我没有写一行前端开发代码;如果你接受这种语言。我尝试添加DisplayFormat属性来建模,但到目前为止没有成功。
有什么想法吗?还是浏览器的问题?
在这一点上,一个不知道任何方法。您可以尝试一个文本框,在其中填充数据并以动态方式验证它(偶然使用Angular)。考虑一下从一部哑手机中归档数据。你输入数字,它就会感觉到数据。
dateTimePicker1.CustomFormat= " ";