如何使用數據庫中的錯誤消息字符串作爲必需的錯誤消息?必需Atrribute,如何從數據庫加載錯誤消息? MVC
對於Required驗證屬性,在我的地址模型中,我想使用存儲在我的數據庫中的錯誤消息,而不是對其進行硬編碼。它來自數據庫而不是resx文件。
在我當前的代碼中,我使用SSPResourceManager類來調用基於ErrorMessageResourceName的數據庫。這不適用於依賴注入的原因。還有另一種方法。
目前代碼
型號
public abstract class AddressVM
{
[Required(ErrorMessageResourceType = typeof(SSPResourceManager), ErrorMessageResourceName = "SSP_Validation_Required")]
[StringLength(50)]
public string Name { get; set; }
}
在這裏,我正在尋找從SSPResourceManager類
SSPResourceManager類
public class SSPResourceManager
{
private static ITranslationService _translationService = EnterpriseLibraryContainer.Current.GetInstance<ITranslationService>();
private static string _languageCode = System.Web.HttpContext.Current.Session["LanguageCode"].ToString();
public static string SSP_Validation_Required
{
get
{
// call database and retrive the correct error string
return _translationService.Read("SSP_Validation_Required", "SSP", _languageCode);
}
}
}
日的靜態屬性 「SSP_Validation_Required」是方法不起作用,因爲我有問題注入Itranslation依賴。
是否有另一種方法從數據庫加載錯誤消息並在必需的屬性中使用?
不幸的是,這並不容易或直截了當。默認的DataAnnotationValidationProvider僅支持資源文件或靜態類。我能夠在這裏找到一個解決方案:http://geekswithblogs.net/shaunxu/archive/2012/09/04/localization-in-asp.net-mvc-ndash-upgraded.aspx,但就像我說的,你已經爲自己裁剪了一些工作。 –