2013-07-30 25 views
17

我想從資源中獲取錯誤消息。當我嘗試下面的代碼時,我會發生這樣的錯誤:「屬性參數必須是常量表達式,屬性參數類型的typeof表達式或數組創建表達式」我能做什麼?在mvc中使用錯誤消息的資源

public class UserLoginModel 
{ 
    [Required(ErrorMessage =Resources.PageResources.enterYourEmail)] 
    public String Email{ get; set; } 

    [Required(ErrorMessage =Resources.PageResources.enterPassword)] 
    public String Password { get; set; 
} 
+0

可能重複[爲什麼我不能使用資源的ErrorMessage與DataAnnotations?](http://stackoverflow.com/questions/2688888/why-cant-i-use-resources-as-errormessage- with-dataannotations) – Liam

回答

42

試試這個

[Required(ErrorMessageResourceType = typeof(Resources.Resources),  
      ErrorMessageResourceName = "enterYourEmail")] 
public String Email{ get; set; } 

[Required(ErrorMessageResourceType = typeof(Resources.Resources),  
      ErrorMessageResourceName = "enterPassword")] 
public String Password { get; set; 
+0

歡迎@MerveKaya – Amit

+0

+1,非常適合我最喜歡的問題列表:)) – FSou1

+0

我必須添加ErrorMessage = null才能使用asp.net mvc 5. Like: [Compare(「NewPassword」,ErrorMessageResourceType = typeof(Resources.ModelStateErrors.Index), ErrorMessageResourceName =「passworddonotmatch」,ErrorMessage = null)] public string ConfirmPassword {get;組; } –

0

類似的方法,但沒有通過@Ali貝格相關問題即將有加的ErrorMessage = NULL,使其工作。

[Required(ErrorMessageResourceName = nameof(Resources.Global_Errors.ReqName), 
ErrorMessageResourceType = typeof(Resources.Global_Errors))] 
相關問題