2012-05-25 3 views
2

다음과 같이 유효성 검사를 사용하고 있습니다.범위 유효성 검사 정수 ASP.NET MVC 3

[Required(ErrorMessage = "Please provide 10 digit mobile number without spaces and without country code (+91)")] 
[Integer(ErrorMessage = "Please provide 10 digit mobile number without spaces and without country code (+91)")] 
[Range(1000000000, 9999999999, ErrorMessage = "10 digit mobile number only without spaces and without country code (+91)")] 
[Display(Name = "Mobile Number")] 
public int MobileNo { get; set; } 

항상 The value '9999999998' is invalid.의 유효성 검증이 실패합니다. 내가 뭔가 잘못하고 있는거야?

답변

13

이 시도 :

[RegularExpression("^[0-9]{10}$", ErrorMessage = "Invalid Mobile No")] 
+2

모든 대답은 하나 또는 다른 방식으로 도움이되었습니다. 매우 감사합니다 :) – IsmailS

6

Int32 유형이 저장할 수있는 최대 값은 2,147,483,648입니다. 당신은 범람하고 있습니다. 전화 번호를 나타 내기 위해 정수형을 사용하는 이유는 무엇입니까? 문자열이 더 적응 된 것 같습니다.

+0

내가 왜 그 숫자에 쉬운 것입니다 범위를 지정 생각했다. 특별한 이유가 없습니다. 나는 문자열을 취하면 길이와 숫자의 두 가지 검사를 수행해야한다고 생각했습니다. – IsmailS

+0

정규식을 사용할 수 있습니다. –

+0

모든 답변은 한 가지 또는 다른 방식으로 도움이되었습니다. 대단히 고마워. :) – IsmailS

2

Integer (Int32)의 최대 값은 2,147,483,647입니다. 따라서 Int를 Long 또는 String으로 대체하는 것이 좋습니다.

+1

모든 답변은 한 가지 또는 다른 방식으로 도움이되었습니다. 매우 고마워요. :) – IsmailS