[英]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.