2016-08-24 1 views
0

이렇게 클래스 필드에 범위 속성을 적용하려고합니다.mvc에서이 범위 속성이 올바른 대답을 제공하지 않는 이유는 무엇입니까?

[Range(typeof(Int32), "1","999", ErrorMessage = "Must be a Number between 1 and 999")] 

public long? FieldName{ get; set; } 

그러나 예상 한 범위의 유효성을 검사하지 않습니다. 1에서 999 사이의 범위를 확인해야합니다. 이 문제를 해결하는 방법.

+0

0이나 1000을 입력하면 오류 메시지가 표시됩니다. 어떤 일이 발생할 것으로 예상하십니까? ([범위 (1, 999, ErrorMessage = "Must ...")]' –

+0

10 진수를 제외한 1에서 999 사이의 자연수 범위를 예상하고 있습니다. 위의 데이터 주석과 주석에 쓴 주석은 모두 10 진수를 받아들입니다 –

+0

'Range' 속성 만 범위를 제한합니다 ('9.09'와 같은 값은 유효 범위 내에 있습니다)하지만 long 형에 유효하지 않기 때문에 서버 측 오류가 발생합니다. –

답변

1

이 시도 ..........

가 가

[범위 (대해서 typeof (INT32)는, "1", "999"으로 ErrorMessage가 = "1과 999 사이의 양의 자연수이어야")] [RegularExpression ("^ [0-9] {1,3} $", ErrorMessage = "1에서 999 사이의 양의 자연수 여야 함"] public long? FieldName {get; 세트; }

관련 문제