2016-08-15 104 views
0

我試圖在模式中使用jQuery驗證,但這不起作用,或者不會調用操作來驗證輸入。jquery使用流星模式進行驗證

這是我從進入模式,這都成模板名稱=「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> 

我把這個模板到我的網站

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

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

的佈局,這是我的呈現

Template.website.rendered = function(){ 

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

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

jQuery驗證和網站。也提出了但我不知道w hy驗證它。

jquery.validate.js template.modalregistro.js

回答

1

您在同一表格上調用.validate()方法兩次......

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

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

.validate()是初始化方法,並一度被稱爲在特定form,就不能再次調用。所有後續調用將被忽略。由於您的規則是從第二個實例聲明的,因此它們將被忽略。


編輯

也許你不知道,你正在使用class選擇,當你form只有一個id

form只包含一個id

<form id="formregister" ... 

但是你選擇的目標是class="formregister"

$('.formregister') 

要選擇id="formregister",你需要使用一個id選擇:

$('#formregister') 
+0

謝謝,我沒有看見!但仍然不工作:( – ccdiego5

+0

@ ccdiego5,看不到是什麼?您發佈的代碼顯示'.validate()'兩次。 – Sparky

+0

是的,我看到知道!並且變得更糟,但是不起作用 – ccdiego5