David Hayden's Blog 및 ASP.Net MVC Tutorials과 같은 웹에서 유효성 검사 자습서와 예제를 수행하려고했지만 아래 코드를 얻을 수 없습니다. 실제 유효성 검증 오류를 표시합니다. 이처럼 보이는 모델 클래스의ASP.NET MVC : TryUpdateModel에서 설정 한 유효성 검사 메시지가 표시되지 않음 ValidationSummary
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.Parent>" %>
<%-- ... content stuff ... --%>
<%= Html.ValidationSummary("Edit was unsuccessful. Correct errors and retry.") %>
<% using (Html.BeginForm()) {%>
<%-- ... "Parent" editor form stuff... --%>
<p>
<label for="Age">Age:</label>
<%= Html.TextBox("Age", Model.Age)%>
<%= Html.ValidationMessage("Age", "*")%>
</p>
<%-- etc... --%>
: 나는 이런 식으로 뭔가를 보이는 뷰가있는 경우
(나이가 int로 선언되어 있기 때문에) 내가 잘못된 시대를 입력 할 때마다public class Parent
{
public String FirstName { get; set; }
public String LastName { get; set; }
public int Age { get; set; }
public int Id { get; set; }
}
, 예 : "xxx"(정수가 아님)보기 은에 "Edit was Unsuccessful. Correct errors and 재 시도"메시지를 올바르게 표시하고 Age 텍스트 상자를 강조 표시하고 빨간색 별표 그 옆에 오류를 나타냅니다. 그러나 ValidationSummary에는 오류 메시지 목록이 표시되지 않습니다. 나 자신의 유효성 검사 (예 : 아래 LastName)를 수행하면 메시지가 올바르게 표시되지만 TryUpdateModel의 기본 유효성 검사에서 필드 값이 잘못된 경우 메시지가 표시되지 않는 것 같습니다. 여기
이 동작은 내 컨트롤러 코드에서 호출됩니다[AcceptVerbs(HttpVerbs.Post)]
public ActionResult EditParent(int id, FormCollection collection)
{
// Get an updated version of the Parent from the repository:
Parent currentParent = theParentService.Read(id);
// Exclude database "Id" from the update:
TryUpdateModel(currentParent, null, null, new string[]{"Id"});
if (String.IsNullOrEmpty(currentParent.LastName))
ModelState.AddModelError("LastName", "Last name can't be empty.");
if (!ModelState.IsValid)
return View(currentParent);
theParentService.Update(currentParent);
return View(currentParent);
}
나는 무엇을 그리워 했습니까?
나는 똑같은 깨달음을 얻었지만 약간의 시행 착오를 겪었다. 당신의 # 2는 내가 결국해야만했던 것입니다. – Funka
MVC3에서이 작업을 수행 할 수있는 방법이 있는지 알고 있습니까? 내 예외에서 ErrorMessage 속성으로 복사하는 전역 작업 필터를 만들려고하는데, 이상하게 여겨야한다! – mcintyre321