2011-10-28 2 views
2

우리는 많은 양식을 포함하는 새로운 umbraco 웹 사이트를 구축하고 있으며이 양식의 유효성을 검사하기 위해 Jquery 유효성 검사 플러그인을 사용하고 있습니다.form.validate() 대신 container.validate()에 대한 Jquery 유효성 확인

각 usercontrol (매크로)에는 서버 태그가 있기 때문에 JQuery 유효성 검사가 작동하려면 각 usercontrol에서 하나의 양식을 사용해야합니다.

하지만 우리는 각 usercontrol에서 하나의 양식을 사용하기 때문에 한 페이지에 여러 컨트롤을 추가 할 수 없습니다.

마스터 페이지에 runat = "server"가 포함 된 양식 태그를 추가 한 다음 일부 container.validate(); form.validate() 대신에. 이

<script type="text/javascript> 

    $('#regForm').validate(); 

</script> 


<div id="regForm"> 

    <input type="text" class="required" name="Name" id="txtName" runat="server"/> 

</div> 
+0

그럼 궁금한 점은 무엇입니까? – Sparky

+0

@ Sparky672 : 내가 원하는 것은 form.validate() 대신 container.validate()에서 유효성 검사를 수행하는 것입니다. –

+0

그래서 질문은 무엇입니까? 당신은 그것을 할 수 있습니다? 대답은 '아니오'입니다 ... 필드가 '

'내에 있어야합니다. 아래 내 대답을 참조하십시오. – Sparky

답변

1

유효성 검사 플러그인 같은

즉 뭔가는 <form></form> 태그 집합에 포함되는 검증 할 것 다양한 필드를 필요로한다.

http://rocketsquared.com/wiki/Plugins/Validation

그러나 양식을 "제출"할 필요없이 확인을 할 수 있습니다. 예를 들어 onkeyup: 또는 onfocusout: 처리기로 계속 수행 할 수 있습니다.

그럼 <div id="regForm"><form id="regForm" ... >과 같이 변경하면 유효성을 검사 할 수 있습니다.

편집 : 기본적으로

For HTML 4, 유일한 form 속성이 action이다 필요한, 그래서 당신은 그냥이와 <div id="regForm"> </div>를 대체 할 수있는 이유가 없습니다 ...

<form id="regForm" action="#"> </form> 
+0

그래, 그게 .. 알아.하지만 우리는 페이지에서 여러 양식을 피하기 위해 div.validate()에 대한 검증 방법을 찾고있다. 당신의 대답에 감사드립니다. –

+0

@mahesh, 나는 당신의 질문을 완전히 이해했다. 그러나 응답은 동일하게 유지된다. Validator는 ''을 필요로한다. – Sparky

+0

@mahesh, 페이지에 여러 개의 ''을 피할 이유는 없습니다. @ Gary.S에 의한 편집과 답변보기. – Sparky

0

asp.net은 runat = "server"와 함께 하나의 양식 만 가질 수 있습니다. 그러나 Sparky의 답변에 따르면 페이지에 여러 개의 양식이있을 수 있습니다. asp.net의 여러 양식에 대한 자세한 내용은 http://msdn.microsoft.com/en-us/magazine/cc164151.aspx에서 확인할 수 있습니다.

+0

그러나 여기에 사용 된 모든 양식은 runat = "server"와 함께 있지만, 페이지에서 runat = "server"로 여러 양식을 추가 할 수는 없습니다. 또한 우리가 runat = "server"라는 폼을 masterpage에 추가하면 다른 모든 폼이이 폼 안에 올 것입니다.이 중첩 타입은 html 규칙에 대한 것이라고 생각합니다. –

+0

@mahesh,이 답변에 게시 된 링크를 읽으십시오. 페이지에 여러 양식을 배치하는 방법을 알려줍니다. Validator가 작동하게하는 다른 방법은 없습니다. – Sparky

0

이 질문에 대한 답변은 늦었지만 기존 답변 중 아무 것도 받아 들여지지 않았 음을 알고 있습니다. 방금 모달 대화 상자의 양식에 포함 된 div의 유효성을 검사해야하는 비슷한 상황이 발생했습니다. 여기 내가 어떻게 해결 했는가.

<script type="text/javascript> 
    jQuery(function($) { 
    $('form').validate(); 

    $('.continue').click(function() { 
     var isValid = true; 
     var $div = $(this).closest("div"); 
     $div.find(":input").each(function() { 
      isValid = $(this).valid() && isValid; 
     }); 
     if (isValid) { 
      var $next = $div.hide().next('div'); 
      if ($next.length == 0) { 
       $(form).submit(); 
      } else { 
       $next.show(); 
      } 
     } 
    }); 
    }); 
</script> 

<form action="#"> 
    <div id="div1"> 
     <input type="text" required name="Name" id="txtName"  runat="server"/> 
     <button class="continue">Continue</button> 
    </div> 
    <div id="div2"> 
     <input type="text" required name="Address" id="txtAddress" runat="server"/> 
     <input type="text" required name="City" id="txtCity" runat="server"/> 
     <input type="text" required name="State" id="txtState" runat="server"/> 
     <input type="text" required name="Zip" id="txtZip" runat="server"/> 
     <button class="continue">Continue</button> 
    </div> 
</form>