겉으로보기에는 매우 간단하지 않은 무언가가 있습니다.ModelState는 항상 유효합니다.
내가 모델public class Name: Entity
{
[StringLength(10), Required]
public virtual string Title { get; set; }
}
public class Customer: Entity
{
public virtual Name Name { get; set; }
}
뷰 모델
public class CustomerViweModel
{
public Customer Customer { get; set; }
}
을 가지고
뷰
<% using(Html.BeginForm()) { %>
<%= Html.LabelFor(m => m.Customer.Name.Title)%>
<%= Html.TextBoxFor(m => m.Customer.Name.Title)%>
<button type="submit">Submit</button>
<% } %>
및 컨트롤러
[HttpPost]
public ActionResult Index([Bind(Prefix = "Customer")] Customer customer)
{
if(ModelState.IsValid)
Save
else
return View();
}
,536,
제목 (null 또는 10 자보다 큰 문자열)으로 입력 한 내용에 관계없이 ModelState.IsValid는 항상 true입니다. Customer 객체의 Title 필드에는 값이 있으므로 데이터가 전달되고 있지만 유효성이 검사되지는 않습니까?
실마리가 있습니까?
보기에 좋지 않습니다.보기에 텍스트 상자가 있습니다. –
글쎄, 난 그냥이 예제를 시도하고 예상대로 작동, 유효성 검사 오류가 제목 속성에 표시되었습니다. –