How to change the default "The field must be a number"

Viewed 13916

I'm working on an MVC 3 application. One of the fields in the model is of type double and defined as follows:

    [Required(ErrorMessageResourceName = "ListingItemPriceRequired", ErrorMessageResourceType = typeof(ErrorMessages))]
    [Display(Name = "DisplayListingItemPrice", ResourceType = typeof(Display))]
    [Range(1, 500000000, ErrorMessageResourceName = "ListingItemPriceNotWithinRange", ErrorMessageResourceType = typeof(ErrorMessages))]
    public double Price { get; set; }

Still, when I enter a value of a number with some trailing spaces like "342 ", I get the default message "The field price must be a number".

Even the validation attribute on the Price input field has something as "data-val-number".

Thanks

3 Answers

I found it easier to just say:

 [RegularExpression("([0-9]+)", ErrorMessageResourceType = typeof(ErrorMessage), ErrorMessageResourceName = "NumberInvalid")]
Related