2014-10-11 82 views
0

我正在开发一个以前的项目,我没有授权更改我的实体模型(例如配置文件)。这个模型中有一些属性没有用[Required]数据注释标记,但是我需要使它们适用于我正在处理的子系统。我在寻找一个干净的方式来做到这一点如何使Entity Framework的非“必需”属性为必填项?

员工型号:

[Required] 
public string Email { get; set; } 

[Required] 
[DataType(DataType.Password)] 
public string Password { get; set; } 

[DataType(DataType.Password)] 
[System.Web.Mvc.Compare("Password", ErrorMessage = "")] 
public string ConfirmPassword { get; set; } 

public string FirstName { get; set; } 

public string LastName { get; set; } 

我要让名字和姓氏在我的形式要求暂时不碰模型代码

+1

创建视图模型并将属性添加到视图模型,然后将您的模型属性值映射到视图模型 – 2014-10-11 07:23:50

+0

@StephenMuecke:谢谢,这就是我一直在寻找:) – 2014-10-11 07:39:54

+0

但您接受并回答您需要创建的位置手动的HTML? (顺便说一句不起作用,因为它不会在服务器上进行验证,并且缺少客户端验证的重要属性) – 2014-10-11 07:52:06

回答

0

您需要添加一些属性为View。

如果你在UI中有<input>标签,那就把这两个属性。

data-val="true" data-val-required="Price field is required." 

,如果你有TextBoxFor然后

@Html.TextBoxFor(m=>m.price,new {data-val="true" data-val-required="Price field is required."}) 

添加到您的视图。

+0

感谢兄弟,但这些验证似乎在客户端? – 2014-10-12 05:24:42

+0

@SinaBizbone:是这段代码将运行在客户端如果你想在服务器端,然后使用局部视图的概念。部分并将名字和姓氏作为必填字段。 – 2014-10-12 08:58:30