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