簡體   English   中英

express.js中的表單驗證

[英]Form validation in 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();
});

那么如何實現這一目標。 任何幫助,將不勝感激!

謝謝

我認為您應該使用驗證器。 這是一個節點包。 出色且非常易於使用。請嘗試一次。 您可以在這里找到驗證器

服務器端使用

使用npm install validator安裝庫

    var validator = require('validator');

    validator.isEmail('foo@bar.com'); //=> true 

ES6

    import validator from 'validator';

或者,僅導入庫的一個子集:

    import isEmail from 'validator/lib/isEmail';

客戶端用法該庫可以作為獨立腳本或通過與AMD兼容的加載器加載

    <script type="text/javascript" src="validator.min.js"></script>
    <script type="text/javascript">
      validator.isEmail('foo@bar.com'); //=> 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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM