1
我一直有几个问题试图让下面的脚本来验证输入。空输入验证不起作用
app = connect()
.use(connect.bodyParser()) #So we can get the post data.
.use(req,res) ->
valid = false if (req.body.name is "") or (req.body.question is "") or (req.body.email is "") #Was all the data submitted?
if valid
#process request
http.createServer(app).listen(1407)
为了调试我已经使用的console.log列出的投入,它返回两个输入,一个用正确的数据,另一个undefined
我以前使用req.body.name?
为好,但它仅重写为req.body.question != null
而不检查未定义。
HTML表单
<form action="_serverurl_" method="post">
<input type="text" placeholder="Your Name" name="name">
<input type="text" placeholder="Your Email" name="email">
<input type="text" placeholder="Subject" name="subject">
<textarea name="question" placeholder="Question"></textarea>
<div class="right"><input type="submit" class="submit" name="submit" value="Send"></div>
</form>
的部分混淆我最深的是为什么有两个输入到服务器?
调试信息:
- 节点版本:v0.10.21
- Connect版本:v2.12.0
完美地工作,我不知道为什么它从来没有。 我也没有意识到你可以使用'{name,etc} = req.body'来引用创建变量,真正的帮助!谢谢! – Daniel
@Daniel手册中的[解构作业](http://coffeescript.org/#destructuring)部分可能会对您有所帮助。 –
男性在问题和答案中都使用了最后的'.use('语句缺少其''''')。如果你在互联网上留下这个,你可能会打破Google。 (我会放下'('因为唯一/最后一个参数是一个回调函数。) – joeytwiddle