2014-11-02 2 views

답변

0

예. 가능합니다. 나는 당신에게 답을했습니다 : 원격 검증. [필수] 특성을 사용하고 필드를 채우지 않으면 ModelState는 항상 유효하지 않은 것으로 응답합니다. 따라서 좋은 대안은 원격 유효성 검사 속성을 사용하는 것입니다.

나는 당신을 위해이 예제를합니다

모델 :

[Required] 
[RegularExpression(@"^[0-9]*$", ErrorMessage = "Only Numbers")] 
[Remote("CheckIfIsDisable", "Home", AdditionalFields = "TXTstatus", ErrorMessage = "You must to fill this field")] 
[DisplayName("Register Number")] 
public String bookId { get; set; } 

보기 :

@Html.TextBoxFor(model => model.bookId) 
@Html.ValidationMessageFor(model => model.bookId) 
@Html.Hidden("TXTstatus", "enable") 

<input type="button" onClick = "return disableTXT()" text="Toggle Disable/Enable bookId field"/> 
당신은 값을 전환 할 자바 스크립트 함수를 넣어해야

:

<script> 
function disableTXT() { 
if ($("#TXTstatus").val() === "enable") { 
    $("#TXTstatus").val("disable"); 
    } 
else { 
    $("#TXTstatus").val("enable"); 
    } 
} 
</script> 

컨트롤러 :

public ActionResult CheckIfIsDisable(string bookId, string TXTstatus) 
     { 

      if (TXTstatus == "enable") 
      { 
     // This show the error message of validation 
       return Json(true, JsonRequestBehavior.AllowGet); 
      } 
      else 
      { 
     // This will ignore the validation 
       return Json(false, JsonRequestBehavior.AllowGet); 
      } 
     } 

그냥 예입니다. 자유롭게 변경하고 필요에 맞게 조정하십시오. 그리고 언제든지 물어보십시오.

관련 문제