2015-12-09 3 views
0

Je travaille sur mon premier projet dans le nœud et je suis en train de valider le formulaire à l'aide d'une validation jQuery http://jqueryvalidation.orgComment routage affecte la validation du formulaire

Je l'ai travailler sur jsFiddle http://jsfiddle.net/o16u2fLq/, mais dans mon projet mon formulaire est soumis sans les validations. Je pense que cela a à voir avec le routage du formulaire, mais je ne suis pas sûr du problème.

Voici mes itinéraires:

var express = require('express'); 
var router = express.Router(); 
var Greeting = require('../models/greetings'); 


router.get('/', function(req, res) { 
    Greeting.getGreetings(req).then(function (greetings) { 
    res.render('index', { greetings: greetings }); 
    res.redirect('/'); 
    }); 
}); 

router.post('/greeting', function(req, res){ 
    console.log(req.body); 
    Greeting.createGreeting(req, res); 
    res.redirect('/'); 
    Greeting.getGreetings(req).then(function (greetings) { 
     res.render('index', { greetings: greetings }); 
    }); 
}); 

module.exports = router; 

J'ai essayé de jouer avec les routes, mais rien ne fonctionnait. Comment puis-je valider le formulaire avant de publier la soumission?

Edit:

html comme l'a demandé

<!DOCTYPE html> 
<html> 
    <head> 
    <link href="./bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> 
    <link rel="stylesheet" href="./bower_components/jquery-ui/themes/smoothness/jquery-ui.css"> 
    <link rel="stylesheet" href="./css/custom.css"> 
    </head> 
    <body> 
    <div class="container-fluid" style="padding-top:20px"> 
     <form action="/greeting" method="Post" enctype="application/x-www-form-urlencoded" class="form-horizontal col-lg-4" id="welcome"> 
     <div class="form-group"> 
      <label for="guest" class="col-lg-3 control-label">Guest Name: </label> 
      <div class="col-lg-9"> 
      <input type="text" class="form-control" id="guest" name="guest"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="message" class="col-lg-3 control-label">Message: </label> 
      <div class="col-lg-9"> 
      <textarea class="form-control" id="message" name="message" rows="3"></textarea> 
      </div> 
     </div> 
     <div class="form-group"> 
      <label for="datepicker" class="col-lg-3 control-label">Date: </label> 
      <div class="col-lg-9"> 
      <input type="text" class="form-control" name="display_date" id="datepicker"> 
      </div> 
     </div> 
     <div class="form-group"> 
      <div class="col-lg-offset-3 col-lg-9"> 
      <button type="submit" class="btn btn-primary">Submit</button> 
      </div> 
     </div> 
     </form> 
     <div class="col-lg-offset-2 col-lg-5"> 
     <table class="table"> 
      <thead> 
      <th> 
       Guest 
      </th> 
      <th> 
       Message 
      </th> 
      </thead> 
      <tbody>   
      <% for(var i=0; i < greetings.length; i++) { %> 
       <tr> 
       <td><%= greetings[i].guest %></td> 
       <td><%= greetings[i].message %></td> 
       </tr> 
      <% } %> 
      </tbody> 
     </table> 
     </div> 
    </div> 
    </body> 
    <script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
    <script src="./bower_components/jquery-ui/jquery-ui.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    <script src="https://cdn.jsdelivr.net/jquery.validation/1.14.0/jquery.validate.js"></script> 
    <script src="./scripts/custom.js"></script> 
    <script> 
    $(function() { 
     $("#datepicker").datepicker(); 
    }); 
    </script> 
</html> 
+0

Le JS Fiddle est super, mais pourriez-vous poster votre page HTML? –

+0

Oh et la raison pour laquelle je demande à voir le HTML est que je pense que vous recevez probablement une erreur dans votre JS, ce qui signifie que le formulaire soumet malgré tout. –

+0

@AdrianLynch J'ai mis à jour le post pour inclure mon code HTML. – badger0053

Répondre

0

dans mon openion

  1. créer un fichier validator.js
  2. ajouter tous
  3. validations

dans l'application. js fil e d'abord vous pointez sur le valdator, après aller au dossier du routeur