Nodejs表示验证用户输入和重定向

时间:2016-08-18 15:07:35

标签: node.js express pug

我有一个带有文本框和按钮的简单nodejs页面。用户单击按钮后,我想读取用户输入并验证它。如果输入不正确,则保持在同一页面上,如果输入正常,则重定向到另一页面。

我有jade文件,它是相应的js文件。什么是最好的方法。

基本上我想读取authcode的输入并处理它

这是我的玉码

doctype html
html(lang="en", class="no-js")
head
    meta(charset="utf-8")
    meta(name="viewport", content="width=device-width, initial-scale=1.0")
    link(rel="stylesheet", href="/foundation/css/normalize.css")
    link(rel='stylesheet', href='/foundation/css/foundation.css')
    link(rel='stylesheet', href='/css/style.css')
body
    center
      h1 Software License Expired
      h3
        | Please renew the contract to use the system.
        h3
          | Machine Code
          br
        input(type='text', name='machcode', value=machcode, disabled='')
        br
        br
        h3
          | Enter Auth Code
          br
        input(type='text', name='authcode')
        br
        br
        button(type='button', onclick="alert('Hurray')") Renew

这是JS页面

router.get('/', function(req, res)
{
    utils.dump("expiry::get - " + __filename);
    res.render('expiry', 
    { 
        current_page: 'toolbar_expiry_page', 
        title: 'EXPIRY_PAGE',
        machcode: "some code"
    });
});

module.exports = router;

1 个答案:

答案 0 :(得分:0)

我做了一些自己的工作,希望这能说明情况:

服务器端验证

router.post('/login/', function(req, res) {

    var input = req.body;

    // Check if both fields have been filled in
    if(input.email === '' || input.password === '') {
        res.render('dashboard/login', { error: 'Please enter a email / password'})
    }
    else {
        res.render('dashboard/loggedin')
    }
})

客户端验证

form.on('submit', function(e) {
/* validate code here */
    if(!valid) {
        sendError(); /* generate error at real time */
        return false;
    }
})

这会回答你的问题吗?