验证Nodejs / Express后端中的输入并将结果发送到React前端

时间:2018-04-26 14:33:06

标签: node.js reactjs validation express post

我想检查用户在我的React前端输入的域名(例如google.com)是否有效。
我正在将域发送到我的Nodejs / Express后端,并使用Node函数dns.lookup检查域是否有效,如下所示:

app.post('/new-cert', function (req, res) {
    var lookup = dns.lookup(req.body.deletedCert, function (err, addresses, family) {
        console.log(addresses); //eg.74.125.224.72 or undefined
    });

    // Only run this bit if `addresses` above is NOT `undefined`
    fs.appendFile('certs-list', '\n' + req.body.domainInput, function (err) {
        res.send('POST request: ');
        exec('sh cert-check-script-insert.sh');
        if (err) throw err;
    });
});

如果addressesundefined,那么我想告诉我的React前端输入的域名无效,然后它可以向用户打印相关消息。
否则,我希望从fs.appendFile开始运行该函数的其余部分,然后继续插入域。

抱歉,我是React / Node的新手,无法找到可以帮助我的帖子,感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

示例:

快递:

if (addresses) {
    res.send(addresses)
} else {
    res.status(404).send({message: "Address not found with " + req.body.deletedCert})
}

阵营:

const response = await fetch('/new-cert', config)
if (response.ok) {
    const json = await response.json()
    this.setState({adresses: json})
} else {
    alert('Could not find the domain.')
    return
}