检查表单中的输入是否使用nodejs设置

时间:2016-08-29 07:28:02

标签: node.js forms

假设我想看到一个输入,比如名称在php中以格式设置,我可以这样做:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<select name="timezones" id="timezones">
    <option value="1">Current bill +21.99</option>
    <option value="2">20Jan 2016 +20.54</option>
     <option value="3">20Dec 2018 +102.65</option>
    <option value="3">20Nov 2016 +502.62</option>
</select>

我可以用这种方式在nodejs中做类似的事情:

if (isset($_POST['name']) {
    echo("type in name"); # or something
}

我是php和nodejs的新手,所以有人可以为我澄清一下,或者在nodejs中为我提供更好/更正确的解决方案吗?

我不想检查某个对象是否有某些属性,但是如果提交的表单设置了属性名称,则name为非空。

1 个答案:

答案 0 :(得分:0)

要获取发布数据,您需要使用body-parser

然后你需要一个处理帖子数据的路由处理程序。

router.post('/', function (req, res, next) {
    // if you set up body parser correctly, all your form data will be accessible in `req.body`
    console.log(req.body) ; 

    const errors = validate(req);

    if(errors.length) {
        // show errors

        return;
    }

    // do something with form data.
});

function validate(req) {
    const errors  = [];

    if (! req.body.firstName) {
        errors.push('First name is required');
    }

    // do the same for all input fields

    return errors;
}