2011-06-20 92 views
2

我想使用属性在我的模型上本地化我的错误消息。 我创建了App_GlobalResources并添加了ResourceMessages。我加 PropertyValueInvalid - 我的错误信息自定义客户端消息

在Global.asax中,我添加

DefaultModelBinder.ResourceClassKey = "ResorceMessages"; 
ValidationExtensions.ResourceClassKey = "ResorceMessages"; 

没有,如果我不启用客户端验证这项工作。但如果我有

<script src="<%: Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script> 
<script src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script> 

包括在我的母版页中,我得到标准验证消息。

我该如何解决这个问题?


[Required(ErrorMessageResourceName = "Required", ErrorMessageResourceType = typeof(ResursPoruke))] 

[Remote("ProvjeraGodine", "RemoteValidacije", "Godina nije validna")] 

[Display(ResourceType = typeof(Resource), Name = "OsnovniPodaci_Godina")] 

public int Godina { get; set; } 

PropertyValueInvalid Vrijednost "{0}" nije ispravna za polje: {1} 

我应该得到错误等;

Vrijednost "dkdkdkdkdk" nije ispravna za polje: Godina 

,但我得到的错误

The field Godina proizvodnje must be a number. 

如果我把jQuery验证的,我收到我的信息。 如何获得验证消息,如果我有jQuery验证?

回答

0

默认验证信息存储与关键InvalidPropertyValue(同时与PropertyValueInvalid")。 但是默认的模型绑定错误消息,如果有已经定义错误消息不使用该默认消息。

+0

我无法找到有关密钥的任何文档中使用的状况不同。你是从哪里找到这些键?使用反射? – Johnny5

+0

AFAI记得我查过了MVC3的源代码。如果我使用MVC,我会开放它。我从这里下载它:http://aspnet.codeplex.com/releases/view/58781 –

1

你说你加入了ResourceMessages资源,但你的类键指出,以一个不同的字符串ResorceMessages。它是一个错字?

DefaultModelBinder.ResourceClassKey = "ResorceMessages"; <<---- 
ValidationExtensions.ResourceClassKey = "ResorceMessages"; <<---- 
相关问题