2011-06-30 72 views
1

我正在處理一個ASP.Net MVC 3項目,該項目需要來自其驗證規則的本地化錯誤消息。本地化MVC 3客戶端驗證消息

有沒有辦法做這個客戶端?

我可以用英語服務器端驗證消息生活,作爲客戶端的人應該永遠被觸發(我不擔心我的用戶禁用javascript,因爲它是一個內部網站)

雖然我可以用DataAnnotations諸如[Required]和[StringLength]之類的東西,數據類型驗證沒有這樣的選項(看來)。

如果例如我在我的視圖模型中有int部分,它會自動驗證輸入以確保它是一個int。不夠公平,但確認消息始終用英文:-(

假設我的模式是這樣的:

public class RecipeModel 
{ 

[Display(Name = "Navn")] 
[Required(ErrorMessage = "Skal udfyldes")] 
public string Name { get; set; } 

[Display(Name = "Portioner")] 
public int Portions { get; set; } 

} 

正如你可以看到我有「名」的自定義errormessage的,但如果我嘗試進入文成EditorFor(部分),它會告訴我這個消息:「該場分份必須是數字」。

這就是我要本地化的errormessage的不幸的是因爲沒有DataAnnotation內置的驗證器(檢查t這是一個int)。

我甚至使用類型的自定義的數據類型註釋試過了,沒有用:-(

+0

如何驗證?使用asp驗證器如果是這樣,您應該能夠在呈現時使用本地化消息修改驗證器 –

回答

1

您可以使用數據標註與您的模型自己的驗證信息,如果你想支持您可以創建一個多國語言每種語言的資源文件以及從數據註釋到資源文件中消息標識的鏈接

+0

對不起,我忘了提什麼樣的驗證麻煩了,我正在更新這個問題 – Steffen

+0

你可以改變默認的英文val idation消息。查看Required屬性中的「ErrorMessage」參數。 – ZippyV

+0

是的,我意識到,這是如何偶然驗證消息的數據類型,如int,日期等等。對不起,如果我的問題太不明確: -/ – Steffen