1
클라이언트 측 자바 스크립트로 텍스트 상자를 사용하지 않도록 설정하면 서버 측 MVC 유효성 검사를 비활성화 할 수 있습니까? 왜냐하면, 만약 내가 텍스트 상자가 비활성화되어 있다면 거기에 어떤 내용도 없을 것입니다.컨트롤이 비활성화 된 경우 서버 측 MVC 유효성 검사를 비활성화하십시오.
클라이언트 측 자바 스크립트로 텍스트 상자를 사용하지 않도록 설정하면 서버 측 MVC 유효성 검사를 비활성화 할 수 있습니까? 왜냐하면, 만약 내가 텍스트 상자가 비활성화되어 있다면 거기에 어떤 내용도 없을 것입니다.컨트롤이 비활성화 된 경우 서버 측 MVC 유효성 검사를 비활성화하십시오.
예. 가능합니다. 나는 당신에게 답을했습니다 : 원격 검증. [필수] 특성을 사용하고 필드를 채우지 않으면 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);
}
}
그냥 예입니다. 자유롭게 변경하고 필요에 맞게 조정하십시오. 그리고 언제든지 물어보십시오.