2016-08-15 3 views
0

모달로 jQuery 유효성 검사를 사용하려고했으나 작동하지 않거나 입력의 유효성을 검사하기 위해 조치를 호출하지 않았습니다.jquery가 계량 모달을 사용하여 유효성을 검사합니다.

이 모달로에서 내입니다,이 템플릿 이름 = "modalregistro"나는 웹 사이트

<template name="website"> 
    <section class="website"> 
     {{> navbarWebsite}} 
    </section> 

    {{> modallogin}} 
    {{> modalregistro}} 
</template> 

의 내 레이아웃에이 템플릿을 호출

<form id="formregister" class="p-t-15 formregister" role="form" method="get"> 
    <div class="row"> 
     <div class="col-sm-12"> 
      <div class="form-group form-group-default"> 
       <label>Correo electrónico</label> 
       <input type="text" name="uname" placeholder="[email protected]" class="form-control" required> 
      </div> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-6"> 
      <div class="form-group form-group-default"> 
       <label>Contraseña</label> 
       <input type="password" id="setPassword" name="user[password]" placeholder="Minimo de 8 Carácteres" class="form-control" required> 
      </div> 
     </div> 
     <div class="col-sm-6"> 
      <div class="form-group form-group-default"> 
       <label>Validar contraseña</label> 
       <input type="password" name="user[password_confirmation]" placeholder="Minimo de 8 Carácteres" class="form-control" required> 
      </div> 
     </div> 
    </div> 
    <div class="row m-t-10"> 
     <div class="col-md-6"> 
      <p>Estoy de acuerdo con <a href="#" class="text-info small"><strong>TP Landings</strong>, terminos y condiciones de uso</a> y su <a href="#" class="text-info small">Privacidad</a>.</p> 
     </div> 
     <div class="col-md-6 text-right"> 
      <a href="#" class="text-info small">¿Ayuda? Contactar el soporte</a> 
     </div> 
    </div> 
    <hr class="b-dashed b-grey"> 
    <div class="row"> 
     <div class="col-sm-6 col-xs-12"> 
      <button data-dismiss="modal" class="btn btn-default btn-lg btn-large btn-block text-uppercase">Cancelar</button> 
     </div> 
     <div class="col-sm-6 col-xs-12"> 
      <button id="btnHecho" class="text-uppercase btn btn-primary btn-lg btn-large btn-block btn-cons show-notification" type="submit">Crear cuenta</button> 
     </div> 
    </div> 
</form> 

로하고이 내입니다 렌더링 된

Template.website.rendered = function(){ 

    $(function(){ 
     $('.formregister').validate() 
    }); 

    jQuery('.formregister').validate({ 
     rules: { 
      "user[password]": { 
       minlength: 2 
      }, 
      "user[password_confirmation]": { 
       minlength: 2, 
       equalTo : "#setPassword" 
      } 
     } 
    }); 
} 

jQuery 유효성 검사가 유효하며 web.rendered 역시 w 그것을 검증해라.

jquery.validate.js template.modalregistro.js

답변

1

당신은 같은 양식에 두 번 .validate() 메소드를 호출하는 ...

$(function(){ 
    $('.formregister').validate() 
}); 

jQuery('.formregister').validate({ 
    rules: { ... 

.validate() 특정 form에서 호출 한 번 초기화 방법이며, 그것은 다시 호출 할 수 없습니다 . 이후의 모든 호출은 무시됩니다. 규칙은 두 번째 인스턴스에서 선언되므로 무시됩니다.


편집 :

은 아마 당신이 당신의 form는 만 id가있을 때 당신이 class 선택기를 사용하고 있는지 인식하지 않습니다.

form에만 포함 된 id :

<form id="formregister" ... 

하지만 당신의 선택은 class="formregister"을 목표로하고있다 :

$('.formregister') 

id="formregister"를 선택하려면, 당신은 id 선택 사용해야합니다 :

$('#formregister') 
+0

감사합니다. 그것을보십시오! 하지만 아직 작동하지 않습니다 : ( – ccdiego5

+0

@ ccdiego5, 뭐가 보이지? 게시 한 코드가'.validate()'를 두 번 보여줍니다. – Sparky

+0

예, 알고 있습니다! chaged했으나 작동하지 않습니다 – ccdiego5