Html.EditorFor를 사용하고 내 ViewModel을 전달할 때 각 개별 양식 요소에 오류 메시지가 표시되지 않도록 할 수 있습니다.Html.EditorFor 유효성 검사 메시지
유효성 검사 요약을 사용하고 있으므로 오류 메시지가 두 번 표시됩니다. 양식 요소에 대해 한 번, 요약에 다시 입력하십시오.
Html.EditorFor를 사용하고 내 ViewModel을 전달할 때 각 개별 양식 요소에 오류 메시지가 표시되지 않도록 할 수 있습니다.Html.EditorFor 유효성 검사 메시지
유효성 검사 요약을 사용하고 있으므로 오류 메시지가 두 번 표시됩니다. 양식 요소에 대해 한 번, 요약에 다시 입력하십시오.
아래 예와 같이 "*"를 사용하여 ValidationMessage에서 오류 메시지를 제거하면 개별 오류를 제거 할 수 있습니다. 그러나 오류 메시지가 전달 된 경우 오류 메시지가 표시됩니다.
<%= Html.ValidationMessage("PropertyName", "*") %>
그러나 오류 메시지가 전달되면 표시됩니다. 도움이
Html.ValidationMessageFor(m=>m.prop,...)
희망,
에디 아래와 같이 이것은 또한 편집기 템플릿 또는 Html.Helper의 새로운 람다 버전을 사용하는 사실이다
당신은 지정 유효성 검사 요약을 작성하고 추가 할 수 있습니다내가 _form을 사용하여이 예에서 특수 키 (귀하의 모든 오류 예를 들면 다음과 같습니다.
private const string VALIDATIONSUMMARY_HMTL = "<div class=\"input-validation-error\">{0}</div>";
public static string ValidationSummary(this HtmlHelper helper, bool customErrorOnly)
{
return ValidationSummary(helper, customErrorOnly, "_FORM");
}
public static string ValidationSummary(this HtmlHelper helper, bool customErrorOnly, string errorName)
{
if (helper.ViewData.ModelState.IsValid)
{
return null;
}
string list = "<ul>";
bool displayList = false;
foreach (KeyValuePair<string, ModelState> pair in helper.ViewData.ModelState)
{
foreach (ModelError error in pair.Value.Errors)
{
if (pair.Key.ToUpper() == "_FORM" || !customErrorOnly)
{
list += "<li>" + error.ErrorMessage + "</li>";
displayList = true;
}
}
}
list += "</ul>";
if (!displayList)
{
return null;
}
return string.Format(VALIDATIONSUMMARY_HMTL, list);
}
특정 오류를 추가 할
:ViewData.ModelState.AddModelError("_FORM", "My error message");