2015-01-07 2 views
0

Я только начал изучать web-framework node.js - express.js, и мне нужна небольшая помощь в проверке формы. Я надеюсь, что вы можете мне помочь.Как проверить форму с помощью express.js?

Вот моя страница формы:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>{{ title }}</title> 
    <link rel='stylesheet' href='/stylesheets/style.css' /> 
    </head> 
    <body> 
     <div> 

{{ number1 }} + {{ number2 }} = <form action="/" method="POST"> <input type="number" name="result"/> 
<input type="submit" name="submit" value="Result"/> 
     </div> 
    </body> 
</html> 

А вот где я маршрут форме.

var express = require('express'); 
var router = express.Router(); 

router.get('/', function(req, res){ 
    res.render('index', { 
     title: 'Test', 
    number1: 7, 
    number2: 5, 
    }); 

}); 

router.post('/', function(req, res){ 
    var result=req.body.result; 
    res.send(result+ " is the right answer !"); 


}); 

module.exports = router; 

Таким образом, его простое подтверждение. У меня есть два числа «5» и «7», и я хочу, когда пользователь вводит в поле ввода числа результат 5 + 7, поэтому, когда он вводит 12, чтобы открыть ему сообщение («12 - правильный ответ») и когда он набирает число, отличное от 12, чтобы дать ему сообщение об ошибке вроде («15 - правильный ответ»). Надеюсь, вы можете мне помочь, спасибо! :)

ответ

0

при визуализации формы задайте два числа в req.body. Добавьте затем вверх и сравните с req.body.result

Что-то вроде этого?

router.post('/', function(req, res){ 
    var firstNum = req.body.firstNum; 
    var secondNum = req.body.secondNum;  
    var result = req.body.result; 

    if(result === firstNum + secondNum) { 
     res.send(result+ " is the right answer !"); 
    } else { 
     res.send(result + " isnt the right answer") 
    } 
}); 
+0

Да, спасибо большое! :)) – Gardjo

Смежные вопросы