2016-10-17 7 views
0

フォームを検証するには、ユーザーの詳細で構成されているフォームを検証します。空でないチェックの基本的な検証の他に、ユーザー名/電子メールがDBで終了するかどうかをチェックしたいと思う。電子メールフィールドでは、空ではない形式、最後にDBでの可用性をチェックしたい。また、電子メールのエラーメッセージは代替とユーザー名でなければなりません。ここexpress.jsのフォーム検証

私はこれまで試みた -

app.post('/user-add', checkAuth, function(req,res){ 

    req.checkBody('username', 'Username is required').notEmpty(); 
    req.checkBody('first_name', 'First Name is required').notEmpty(); 
    req.checkBody('last_name', 'Last Name is required').notEmpty(); 
    req.checkBody('email', 'Email is required').notEmpty(); 
    req.checkBody('email', 'Valid Email is required').isEmail(); 
}); 

これを達成するために、どのように。どんな助けもありがとう!

ありがとうございました

+0

はあなたが基本的なチェックを行っていると、コードが細かいAMD互換のローダによってロードすることができ、何を行うことができますことは、さらにありますそれをモジュール化する。しかし、私はあなたのユーザー名/電子メールが既にDBに存在するかどうかをチェックするコードが必要かどうか、と思いますか? – Nivesh

+0

@niveshはい本当に。 –

答えて

0

私はバリデータを使用する必要がありますと思います。それはノードパッケージです。優れて非常に使いやすい。一度試してみてください。あなたはvalidator

サーバー側の使用率がnpm install validator

var validator = require('validator'); 

    validator.isEmail('[email protected]'); //=> true 

ES6

import validator from 'validator'; 

やライブラリの、輸入サブセットのみでライブラリをインストールし、ここでそれを見つけることができます。

import isEmail from 'validator/lib/isEmail'; 

クライアント側の利用 ライブラリは、スタンドアロンスクリプトとして、または

<script type="text/javascript" src="validator.min.js"></script> 
    <script type="text/javascript"> 
     validator.isEmail('[email protected]'); //=> true 
//can use this syntax for checking availability of fields in body 
if(req.body.email == undefined || req.body.email == '' || req.body.email == null) 
      { 
       // do something such as throw error 
      } 
// check for valid or invalid attribute 
      if(!validator.isEmail(req.body.email)){ 
       // do something such as throw error 
      } 
    </script> 
+0

質問に固有のこのライブラリを使用していくつかの例を提供するとよいでしょう。ありがとう。 – ghaiklor

+0

これはusename/emailの可用性のようなカスタム検証をサポートしていますか?私は現在 "express-validator"を使用しています。 –

+0

@ghaiklor返信ありがとう。私はモジュールとして "express-validator"を使用しています。コードの一部は既にこの投稿に含まれています。 –