Entity Framework 6과 함께 MVC 4 응용 프로그램을 개발 중이며 데이터 주석에 문제가 있습니다. 내가 사용하는 주석이 무엇이든 관계없이 유효하지 않습니다. 뷰에서클라이언트 또는 서버 유효성 검사가 데이터 주석과 함께 작동하지 않습니다.
public class UserViewModel
{
[Required(ErrorMessage = "First Name is required")]
[Display(Name = "First Name")]
[StringLength(100, MinimumLength = 2)]
public string FirstName { get; set; }
...
}
: 나는 양식을 렌더링하기 위해 다음 뷰 모델을 사용하고
@Html.LabelFor(m => m.FirstName)
@Html.EditorFor(m => m.FirstName)
@Html.ValidationMessageFor(m => m.FirstName)
을 그리고 렌더링됩니다 :
<label for="FirstName">First Name</label>
<input class="text-box single-line" id="FirstName" name="FirstName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
난 제출 버튼을 클릭하면 클라이언트 유효성 검사가 트리거되지 않고 컨트롤러에서 ModelState.IsValid가 true입니다.
UPDATE :
컨트롤러 :
[HttpGet]
public ActionResult Edit(int? Id)
{
var model = _userService.GetUserById(Id);
return View(model);
}
[HttpPost]
public ActionResult Edit(UserViewModel model)
{
if (ModelState.IsValid == true)
{
_userService.Save(model);
return View(model);
}
return View(model);
}
컨트롤러 작업에서 코드를 게시 할 수 있습니까? – mai
보기에 자바 스크립트 파일을 포함 시켰습니까? – Fals
ajax를 통해 양식을로드하고 있습니까? –