2013-07-30 5 views
17

Ich möchte Fehlermeldung von Ressourcen erhalten. Wenn ich Codes unten versuchte, nehme ich diesen Fehler: "Ein Attributargument muss ein konstanter Ausdruck sein, typeof Ausdruck oder Array-Erstellungsausdruck eines Attributparametertyps" Was kann ich tun?Verwenden von Ressourcen mit Fehlermeldung in 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

möglich Duplikat [Warum kann ich Ressourcen als Errormessage mit DataAnnotations verwenden?] (Http://stackoverflow.com/questions/2688888/why-cant-i-use-resources-as-errormessage- with-dataannotations) – Liam

Antwort

42

dieses Versuchen

[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

Willkommen @MerveKaya – Amit

+0

+1, ideal für die Liste der Lieblingsfragen;) – FSou1

+0

Ich musste ErrorMessage = null hinzufügen, damit es mit asp.net mvc 5 funktioniert. Wie: [Compare ("NewPassword", ErrorMessageResourceType = typeof (Resources.ModelStateErrors.Index), ErrorMessageResourceName = "passworddonotmatch", ErrorMessage = null)] öffentliche Zeichenkette ConfirmPassword {get; einstellen; } –

0

Ein ähnlicher Ansatz, aber ohne die von @Ali Baig verwandtes Problem über Errormessage = null zu haben, um hinzuzufügen, damit es funktioniert.

[Required(ErrorMessageResourceName = nameof(Resources.Global_Errors.ReqName), 
ErrorMessageResourceType = typeof(Resources.Global_Errors))]