0

다른 단계로 나누고 싶은 거대한 형식이 있지만 다음 단계로 이동하기 전에 현재 단계에서 필드의 유효성을 검사해야합니다.ASP.NET MVC 및 부분 클라이언트 측 유효성 검사

예 : 양식에 40 개의 입력란이 있으며 4 단계 (각각 10 개의 입력란)로 나뉩니다. HTML에서 40은 동일한 페이지에 있지만 jQuery를 사용하면 첫 번째 10 및 다음 버튼 만 표시하고 네 번째 페이지에는 "제출"버튼이 있습니다. 다음 단계로 이동하기 전에 해당 열 필드의 유효성 검사를 호출하는 방법이 필요합니다.

이 작업을 수행 할 수있는 방법이 있습니까?

감사합니다.

답변

0

버튼을 사용하여 각 단계를 이동하는 경우 페이지를 수정하여 각 단계마다 별도의 양식을 만들 수 있습니다. 그런 다음 유효성 검사를 제출 단추의 부모 인 양식으로 제한하고 "단계"에 대한 유효성 검증을 사용하여 다음 단계에서 양식을 사용 가능하게할지 여부를 결정하십시오. 다음은 몇 가지 예제 코드입니다 :

$(".stepButton").live("click", function() { 
    if (isValid(this)) { 
     // code to proceed to next step 
    } 
}); 

function isValid(el) { 
    var $thisform = $(el).parent().parent(); 
    $thisform.validate(); 
    return $thisform.valid(); 
} 
1

기본적 mvc3 눈에 거슬리지 유효성 검사를 사용하는 가정하면, 루프를 원하는 요소에 대한 검증을 부를 수 및 Single Element Validation

0

당신은 jQuery Validation plug-in을 사용할 수 있습니다. 유효성을 검사 할 때 요소를 무시하는 option이 있습니다. 따라서 예를 들어 클래스와 함께 표시되지 않는 (아직 유효성 검사가 필요하지 않은) 모든 필드를 표시 할 수 있습니다. 예를 들어,이 작업을 수행하려는 class="ignore" 모든 양식 요소를 무시 :

$("#myform").validate({ 
    ignore: ".ignore" 
}) 
0

속성 class="ignore" 작품을 표시하여 요소를 무시하지만, MVC 3는 기본적으로 및 plug-in will not validate disabled fields을 것을 jQuery의 검증 플러그인을 사용합니다. 표시되는 10 개의 필드 외에도 요소를 숨기는 코드에서는 해당 요소를 비활성화 할 수 있으며 유효성이 검사되지 않습니다 (사용하지 않는 필드는 서버에 게시되지 않습니다).

$('input').attr('disabled', 'disabled'); 
관련 문제