Reputation: 925
I want to localize my error messages on my model using attributes.
I created App_GlobalResources
and added ResourceMessages. I added
PropertyValueInvalid
- my error message
In Global.asax I added
DefaultModelBinder.ResourceClassKey = "ResorceMessages";
ValidationExtensions.ResourceClassKey = "ResorceMessages";
This work without if I do not have enabled client validation. But if I have
<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>
included in my master page, I get standard validation message.
How can I solve this problem?
[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}
I should get error like;
Vrijednost "dkdkdkdkdk" nije ispravna za polje: Godina
but I get error
The field Godina proizvodnje must be a number.
If I turn of jquery validation, I get my message. How can I get validation message if I have jquery validations?
Upvotes: 2
Views: 770
Reputation: 2949
The default validation message is stored with the key InvalidPropertyValue
(while the default model binder error message with the PropertyValueInvalid")
.
However, this default message is not used if there is an error message defined already.
Upvotes: 0
Reputation: 11
You said you added a ResourceMessages
resource, but your class key is pointing out to a different string ResorceMessages
. Is it a typo?
DefaultModelBinder.ResourceClassKey = "ResorceMessages"; <<----
ValidationExtensions.ResourceClassKey = "ResorceMessages"; <<----
Upvotes: 1