2014-11-05 100 views
0

我用表現來實現客戶端驗證, 以下注釋是代碼,我使用的條件驗證,而且一個字段是依賴於其他數據與表現條件驗證

[Required(ErrorMessage ="Role Required")] 
     public string Role { get; set; } 

[RequiredIf("Role == '1'", ErrorMessage = "If you plan to travel abroad, why visit the same country twice?")] 
public int ProjectID { get; set; } 

如果角色僅1然後項目ID是強制性的,都是下拉,問題是RequiredIf不工作,我得到驗證消息說ProjectId是必需的,這不是我已經初始化它的消息,它應該告訴我「如果你計劃出國旅行,爲什麼要訪問相同的「

回答

2

我剛剛遇到了同樣的問題在我的ow n代碼。您聲明ProjectIDint,由於int類型不能爲空,因此它會自動獲得連接到它的[Required()]註釋。

如果將public int ProjectID更改爲public Nullable<int> ProjectID,則應解決該問題。