2013-06-25 86 views
0

我有一個User類,它具有多個字符串屬性,它們都是必需的。這些屬性用於不同的操作,如創建和更新。ModelState:僅驗證表單中的屬性

在我的表單中,創建動作時,我僅使用這些屬性的一部分,因此,ModelState無效。

有沒有辦法指定ModelState它應該只驗證包含在POST數據(在表單內)的屬性?所以缺少的屬性會被忽略?

回答

1

您可以使用不同的驗證屬性集創建用戶創建和其他操作的不同模型。

1

是的,你應該爲每個特定的操作方法(如果他們有特定的要求)創建不同的視圖模型。

0

可以使用RequiredIf屬性從Foolproof來實現這一目標:

using Foolproof; 

[RequiredIf("Tab", "Information")] 
public bool UW_AgentCreditReportsAknowlegement { get; set; } 

只需使用一個屬性,並設置相應的條件。