MVC Scaffolded Views无法正确验证日期

时间:2017-11-06 12:38:05

标签: c# asp.net-mvc entity-framework

我已从我的数据库中创建了以下相关字段的实体:

aux2=np.zeros([N_data,SubC,Dim])
aux2=(GenXn[:,np.newaxis]-InitMu)

使用create table Cow ( [ID] int primary key identity ... , [DateOfBirth] date not null , [DateOfArrival] date not null ... ); 生成控制器和视图。

一切都很好地生成了,但是在Add > New scaffolded item > MVC Controller with views, using Entity framework MVC使用数据库中的日期填充字段,但如果我尝试保存而不修改任何内容,我会收到错误,即日期格式不正确(MVC放在那里的日期相同) )。

我不确定如何解决这个问题。

以下是生成的模板中的相关代码:

Edit

当我打开编辑页面字段时(使用相同的编辑器)填充:

@Html.EditorFor(model => model.DateOfBirth, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.DateOfBirth, "", new { @class = "text-danger" })

但他无法解析自己生成的价值观。我得到消息:

  

DateOfBirth字段必须是日期。

1 个答案:

答案 0 :(得分:0)

在您的视图中尝试此操作

// specify your date format here
@Html.TextBoxFor(model => model.DateOfBirth, "{0:dd/MM/yyyy}", new { id = "yourID" }) 

<强>(或)

在模型类中尝试此操作

public int ID { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] // specify your date format here
public DateTime DateOfBirth { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] // specify your date format here
public DateTime DateOfArrival { get; set; }

在视图中

@Html.TextBoxFor(model => model.DateOfBirth)