2013-08-07 3 views
-2

내 ModelState.AddModelError 오류가 표시되지 않습니다. 사용자 이름을 확인하고 중복되었을 때 오류가 표시됩니다. ModelState.AddModelError가 채워진 중단 점을 사용할 때 오류 메시지가 표시되지 않습니다.ModelState.AddModelError 오류가 표시되지 않습니다.

내 코드 :

컨트롤러 :

[HttpPost] 
    public ActionResult Register(tbl_User model) 
    { 
     if (ModelState.IsValid) 
     { 
      if (MyClass.IsUserNameDuplicate(model.username) == true) 
      { 
this.ModelState.AddModelError("username", "the username is duplicate"); 

       return View(model); 
      } 
      else 
      { 
       MyClass.creatUser(model.username, model.password_User, model.nam); 
      } 
     } 

     return View(model); 

    } 

보기 :

  @Html.ValidationSummary(true) 
     @Html.ValidationMessageFor(model => model.username) 
     @Html.TextBoxFor(m => m.username, new {@class = "input", @placeholder = "*enter user name" }) 
+0

시도를 지정 유효성 검사에 대해이 많은 시간을' – Nilesh

+1

-1 : 단지 방법이 컨트롤러 액션을 호출하는 태그 스팸 –

+0

하시나요? AJAX를 사용하고 있습니까? –

답변

1

당신은 ModelState.IsValid을 확인하기 전에 AddModelError를 호출해야합니다. 내 컨트롤러에`@ Html.ValidationMessage ("이름")를 사용하여

[HttpPost] 
public ActionResult Register(tbl_User model) 
{ 
    if (MyClass.IsUserNameDuplicate(model.username) == true) 
    { 
     this.ModelState.AddModelError("username", "the username is duplicate"); 
    } 

    if (!ModelState.IsValid) 
    { 
     return View(model); 
    } 
    else 
    { 
     MyClass.creatUser(model.username, model.password_User, model.nam); 
    } 

    return View(model); 
} 
관련 문제