2017-04-07 3 views
6

MVC .Net Core에서 모델 유효성 검사를 사용하려고하는데이 기본 오류 메시지를 ''값 ''이 (가) 잘못되었습니다.MVC .Net 핵심 모델 유효성 검사 - ''값이 유효하지 않습니다. 오류

이론적으로 Model에서 ErrorMessage Annotation을 사용하여 사용자 지정 오류 메시지를 대체 할 수 있습니다. 하지만이 방법을 사용할 수있는 방법을 찾지 못했습니다. 위의 그림과 같이

내 모델

[Required(ErrorMessage = "Date Required")] 
[DataType(DataType.Date, ErrorMessage = "Invalid Date Format")]     
[Display(Name = "Appointment Date")] 
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)] 
public DateTime AppointmentDate { get; set; } 

나는 모두 RequiredDataType 태그에 대해 서로 다른 ErrorMessage을 넣어.

내 HTML보기 내가 그 오류 메시지 교체를 얻을 수있는 방법을

<div class="col-md-2"> 
     <input class="form-control" asp-for="AppointmentDate"> 
     <span asp-validation-for="AppointmentDate" class="text-danger"></span> 
    </div> 

enter image description here

당신이 좀 도와 주 시겠어요? 감사.

public DateTime? AppointmentDate { get; set; } 

편집 : 또한 DataType 속성이 실제로 필드 유효성 검사를 수행하지 않습니다 당신의 Required 속성을하기 위해

+0

[이 내용을 확인 했습니까 (http://stackoverflow.com/questions/1538873/how-to-replace-the-default-modelstate-error-message-in-asp-net-mvc-2)? 그것은 당신이 찾고있는 것일 수도 있습니다 – TheUknown

+0

고마워요. 스페인어 나 이탈리아어와 같은 다른 언어로 된 에러 메시지를 대체 할 것입니다. – TTCG

답변

7

는 필드 널 (NULL)을 만들 필요가 작동합니다. post 데이터에서 즉, 내 문제는 만들기 작업에, 나는 것을 변경, newing 최대 엔티티없이보기를 반환 할 거라고했다 model

+0

그러나 동일한 문제가 발생합니다. 그러나'[Required]'on은 문자열입니다. 그리고 엔티티를 추가하고 편집 할 때와 동일한 Controller 액션을 사용합니다. 편집 할 때 잘 동작합니다 (컨트롤러에서 무엇인가하기 전에'ModelState'를 체크합니다). 그러나 새로운 엔티티를 추가 할 때 이것을 움직입니다. 모든 것이 엔티티에서 동일합니다. –

0

, Return View(new MyEntity());는 문제를 해결 결합을 적용 할 때 MVC는 날짜를 확인