지금은 그냥 일반 표시입니다.FluentValidation에서 내 맞춤 메시지를 표시하려면 어떻게해야합니까?
'이니셜'은 비워서는 안됩니다. 다음과 같은 규칙에 대한
메시지 :
context.RulesFor(p => p.Initials).Required(p => p.Message("Initials are frikking required.")).Length(0, 8);
이니셜의 인적 또는 심지어 표시 이름 특성이없는, public string Initials { get; set; }
로 그냥 일반 유형 ApplicantProfileModel : MappedViewModel<ApplicantProfile>
의 다소 큰 모델에 선언되어있다, 그러나 나는 같은 문제가 표시 이름을 추가 할 때도 마찬가지입니다.
뷰 모델에 남아있는 속성이 Required
입니다.
컨트롤러 액션 코드는 다음과 같습니다
[HttpGet]
public ActionResult Create()
{
var applicant = _applicantService.BuildApplicantProfile();
var model = new ApplicantProfileModel();
model.MapFromEntity(applicant);
return View(model);
}
이 내 마지막 많은 프로젝트에 대한 내 표준 코드이며, 모든 것이 FluentValidation의 사용자 정의 메시지를 제외하고 작동합니다. 그들의 유효성 검사는 훌륭합니다.
<li class="form-line">
@Html.LabelFor(m => m.Initials)
@Html.EditorFor(m => m.Initials)
@Html.ValidationMessageFor(m => m.Initials)
</li>
내가뿐만 아니라 TextBoxFor
을 시도했지만 아무런 차이 :
뷰는 없다.
코드가 정상적으로 보입니다. 'Initials' 속성의 유형은 무엇입니까? 여기에 설명 된 문제를 재현 할 수있는 전체 예제 (모델, 뷰 및 컨트롤러 포함)를 보여줄 수 있습니까? –