내보기에서 유효성 검사에 이상한 동작이 나타납니다.MVC3 속성 유효성 확인 질문
내 모델에이 속성이 있습니다.
[Display(Name = "Overflow Capacity")]
[RegularExpression(@"[-+]?[0-9]*\.?[0-9]?[0-9]", ErrorMessage = "Number required.")]
[Range(0,9999.99,ErrorMessage = "Value must be between 0 - 9,999.99")]
public decimal OverFlowCapacity { get; set; }
내보기이있다 : 나는 'ABC'와 같은 값을 입력하면 내가 999999의 값을 입력하면, 내가 을 '번호가 필요한'검증 메시지가
<tr>
<td>@Html.LabelFor(m=> m.OverFlowCapacity)</td>
<td>@Html.EditorFor(m=>m.OverFlowCapacity)</td>
<td> @Html.ValidationMessageFor(model => model.OverFlowCapacity)</td>
</tr>
, 내가 얻을 유효성 검사 메시지 '값은 0 - 9,999.99 사이 여야합니다.'
예상대로 텍스트 상자를 탭 해제하면 두 메시지가 모두 수신됩니다. 텍스트 상자 값을 비워두고 탭을 끈 상태에서 예상대로 오류가 발생하지 않습니다.
그러나 제출할 때 유효성 검사 메시지 '오버 플로우 용량 필드가 필요합니다.'가 표시됩니다.
어디서 왔는지 모르겠습니다. 모델에서 모든 유효성 검사 특성을 제거하려고 시도했지만 여전히 '필수'메시지가 표시됩니다. 나는 잃어 버렸다.
다음은 내가 언급 한 스크립트입니다.
나는 나중에 게시 할 수 있습니다 mvcfoolproof 다른 문제가 있습니다. 이것이 내 문제를 어떻게 든 담당하지 않는다면 궁금합니다.
IMHO 만 필요한 속성은 오류 메시지를 무시하지 않으므로 아무런 차이가 없습니다. –
감사합니다. Alexander. 나는 MVC에 꽤 익숙해 때로는 명백한 것조차 나를 도망 가게한다. 당신의 대답의 처음 두 줄만 읽은 후에 해결책을 알았습니다. –
@Muhammad 그가 이미 얻은 오류에는 영향을 미치지 않는다는 점에서 맞습니다. 그러나 제출하기 전에 필드가 포커스를 잃었을 때 검증을 볼 수 있습니다. Jeff가 오류를 원한다면 잘 모르겠다. 그래서 그것을 포함하고 제거하기위한 해결책을 모두 포함했다. –