Search code examples
c#asp.net-mvcdata-annotationsdto

The value '(SomeNumber)' is not valid for Number


i'm using data annotation and it's a simple project about phone book I want to add a person ,I don't know why I am receiving

The value '09124573957' is not valid for Number

error under my editor box while I press the button Create

here is my dto in view model

   [Required(ErrorMessageResourceType = typeof(App_Globaliz.Resource1), ErrorMessageResourceName = "Number")]
    [DisplayName("Number")]
  //  [Phone]
    [Range (0, 09889999999, ErrorMessageResourceName = "Range", ErrorMessageResourceType = typeof(App_Globaliz.Resource1))]
    public int Num { get; set; }

you should know that i'm using a resource file which I wrote some errors text in it but this error I don't know where did it came from


Solution

  • Your range validator is not working because numeric do not support leading zero .. and range validator works on numeric type

    It will be working using RegularExpression validator... something like this ...

    [Required(ErrorMessageResourceType = typeof(App_Globaliz.Resource1), ErrorMessageResourceName = "Number")]
    [Display(Name = "Number")]
    [DataType(DataType.PhoneNumber)]
    [RegularExpression(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$", ErrorMessage = "Not a valid number")]
    public string PhoneNumber { get; set; }