ASP.NET MVC Data Annotations Validation ErrorMessageResourceType

15,505

Solution 1

It has to be

ErrorMessageResourceType = typeof(Resources.Errors)

instead of

ErrorMessageResourceType(typeof(Resources.Errors))

This was a small big damn stupid mistake :D

Hope this helps anyone who had the same problem!

Solution 2

You need to use both ErrorMessageResourceType and ErrorMessageResourceName.

[EmailAddress(ErrorMessageResourceType = typeof(Resource),ErrorMessageResourceName = "Message_ValidEmail")]
Share:
15,505
Les
Author by

Les

Updated on June 09, 2022

Comments

  • Les
    Les about 2 years

    When using Data Annotations Validation, everything works fine until I try to use resources.

    Here's the error I get: The name 'ErrorMessageResourceType' does not exist in the current context.

    And the code I used:

    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using Microsoft.Web.Mvc;
    
    namespace Project.Models  
    {  
        [MetadataType(typeof(LanguageMetaData))]
        public partial class Language
        {
        }
    
        public class LanguageMetaData
        {
            [Required(ErrorMessageResourceType(typeof(Resources.Errors)), 
                      ErrorMessageResourceName = "IdRequired")]
            public object Id { get; set; }
    
            [Required(ErrorMessageResourceType(typeof(Resources.Errors)), 
                      ErrorMessageResourceName = "NameRequired")]
            public object Name { get; set; }
    
            public object Flag { get; set; }
            public object IsDefault { get; set; }
        }
    }
    

    I can't find anything wrong with this. Can someone more experienced help me with what's wrong?

    Thank you!