2016-08-15 2 views
0

Ich versuche, die jQuery Validierung in modal zu verwenden, aber dies funktioniert nicht oder rufen Sie die Aktion nicht, um die Eingaben zu validieren.jquery validate in modal mit meteorjs

das ist mein aus in die modal, diese sind in ein Template name = "modalregistro"

<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> 

ich diese Vorlage in mein Layout der Website rufen

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

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

und das ist mein gerendert

Template.website.rendered = function(){ 

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

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

die jQuery validate sind auf, und die website.rendered zu, aber ich weiß nicht w Ich bestätige es.

jquery.validate.js template.modalregistro.js

Antwort

1

Sie die .validate() Methode zweimal auf der gleichen Form Aufruf ...

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

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

.validate() die Initialisierungsmethode ist und einmal auf einem bestimmten form genannt, kann es nicht wieder aufgerufen werden . Alle nachfolgenden Anrufe werden ignoriert. Da Ihre Regeln ab der zweiten Instanz deklariert sind, werden sie ignoriert.


EDIT:

Vielleicht erkennen Sie nicht, dass Sie einen class Selektor verwenden, wenn Ihr form nur eine id hat.

Die form enthält nur ein id:

<form id="formregister" ... 

Aber Ihre Wähler zielt class="formregister":

$('.formregister') 

Um id="formregister" zu wählen, werden Sie einen id Selektor verwenden müssen:

$('#formregister') 
+0

danke, ich nicht sieh es! aber immer noch nicht funktioniert :( – ccdiego5

+0

@ ccdiego5, nicht sehen, was? Der Code, den Sie veröffentlicht, zeigt '.validate()' zweimal. – Sparky

+0

ja, ich sehe es wissen! und schob es, aber funktioniert nicht. – ccdiego5