2012-10-29 19 views
0

當我將驗證規則添加到Model類時,可以將錯誤消息添加到它,但僅限一種語言;我怎麼能添加更多的語言翻譯爲單個屬性的錯誤消息? 我要寫更多的類「副本」還是存在一個更好的方法來實現它?在ASP.NET MVC 3模型的驗證規則中,如何添加用更多語言翻譯的錯誤消息?

Public Class Movie 
    Public Property ID() As Integer 

    <Required(ErrorMessage:="Title is required")> 
    Public Property Title() As String 

    <Required(ErrorMessage:="Date is required")> 
    Public Property ReleaseDate() As Date 

    <Required(ErrorMessage:="Genre must be specified")> 
    Public Property Genre() As String 

    <Required(ErrorMessage:="Price Required"), Range(1, 100, ErrorMessage:="Price must be between $1 and $100")> 
    Public Property Price() As Decimal 

    <StringLength(5)> 
    Public Property Rating() As String 
End Class 
+0

您是否嘗試過使用資源文件? – AntLaC

回答

3

您可以使用ErrorMessageResourceType和ErrorMessageResourceName參數與給定字符串指向資源文件(的.resx):

<Required(ErrorMessageResourceType:=GetType(Namespace.ResxFile),ErrorMessageResourceName:="GenreMustBeSpecified")> 
Public Property Genre() As String 

然後,你必須創建一個* .resx文件爲每種語言,像:

  • ResxFile.resx - 默認
  • ResxFile.en-US.resx - 英語
  • ResxFile.de-DE.res - 德國
  • ...
+0

謝謝!我不知道如何指定對文件資源的引用。 – Max

0

使用一個資源文件和剛剛的.resx擴展名前添加你的語言代碼Resources1.en-US.resx

然後引用它

[Required(ErrorMessage = MvcApplication1.Properties.Resources.ExampleResource)]

相關問題