2014-10-11 97 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