내보기 모델에 적용 할 사용자 지정 유효성 검사 특성을 만들었습니다. 내 양식에는 @Html.ValidationSummary
컨트롤이 있습니다. 내 사용자 지정 유효성 검사 특성이 유효하지 않은 경우 요약 컨트롤에 어떤 이유로 오류 메시지가 표시되지 않습니다. 내 사용자 지정 유효성 검사기 속성이 적용과Html.ValidationSummary에 사용자 지정 유효성 검사 오류 메시지가 표시되지 않습니다.
public class UserFolderExistsAttribute : ValidationAttribute
{
private const string _defaultErrorMessage =
"A folder with this name already exists";
private readonly object _typeId = new object();
public UserFolderExistsAttribute(string folderName) :
base(_defaultErrorMessage)
{
FolderName = folderName;
}
public string FolderName { get; private set; }
public override object TypeId { get { return _typeId; } }
public override bool IsValid(object value)
{
return false; // return error message to test for now
}
}
여기, 내보기 모델입니다 : 여기
@using (Ajax.BeginForm("Create", "Folders",
new AjaxOptions { OnSuccess = "OnSuccess" }))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.Name, new { placeholder = "Name" })
<p>@Html.ValidationSummary()</p>
<p><input type="submit" class="create" value="" /></p>
}
는 방법이다 :
가 여기 내 부분보기의
[UserFolderExists("Name")]
public class UserFolderViewModel
{
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
}
여기 내 사용자 지정 유효성 검사기입니다 내 양식이 다음 주소로 게시 중입니다 :
[HttpPost]
public JsonResult Create(UserFolderViewModel viewModel)
{
if (ModelState.IsValid)
{
// do something
}
return Json("error");
}
ModelState.IsValid
속성은 false를 반환하므로 사용자 정의 유효성 검사기를 인식합니다. 그러나 요약 컨트롤은 내 메시지를 자동으로 표시하지 않습니다. 요약에 Required
데이터 주석 유효성 검사기가 인식되고 오류 메시지가 표시됩니다.
사용자 정의 오류 메시지를 표시하기 위해 유효성 검사 요약을 어떻게 얻을 수 있습니까?