我遵循this article並通過測試,顯示自定義驗證錯誤消息是從Validator.IsValid(someEntity)調用失敗時從資源文件返回的。MVC 3,NHIbernate驗證器和消息插值器
我想把這個翻譯成新的不顯眼的客戶端驗證MVC3描述this article。這也或多或少的作品 - 以及客戶端驗證並因此我可以假設我NHValidators的佈線是很好的,因爲你可以看到下面的輸出:
<input data-val="true" data-val-required="{NotNullNotEmpty}" id="Username" name="Username" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="Username" data-valmsg-replace="true">
我的問題是,這一次CustomMessageInterpolator有未觸發 - 資源字符串尚未翻譯爲此屬性(它仍位於花括號中):{NotNullNotEmpty}。
我的兩個測試和網絡都usign相同NHValidator配置:
var cfg = new FluentConfiguration();
cfg
.SetMessageInterpolator<CustomMessageInterpolator>()
.SetCustomResourceManager("MyProject.Core.Resources.ValidationMessages", Assembly.Load("MyProject.Core"))
.SetDefaultValidatorMode(ValidatorMode.UseAttribute)
.Register(Assembly.Load("MyProject.Core").ValidationDefinitions())
只是良好的措施,這裏的模型片段:
public class LoginModel
{
[NotNullNotEmpty(Message = "{NotNullNotEmpty}")]
public string Username { get; set; }
遠投,但我知道任何想法,將不勝感激!
你有沒有找到一個明確的解決方案呢? – DanP 2013-04-29 14:55:11