2016-09-06 6 views
2

私はNodeJSとExpressを初めて使い、APIパラメータを検証したいと思います。 は、今私がでパラメータを検証:ノードjsのすべての必須パラメータを検証するカスタム応答メッセージ

if(!req.body.parametername) 
    return res.send({"message": "Please provide parametername"}); 

if(!req.body.parametername) 
    return res.send({"message": "parametername can not be blank"}); 

しかし、私は、応答は次のようになりたい:パラメータが用意無効であるか、ない場合は

{ 
    "username": [ 
     "This field is required." 
    ], 
    "password": [ 
     "This field can not be blank." 
    ] 
} 

これは私が欲しい応答です。

答えて

1

ここではexpress-validatorが必要です。 特に、このセクション:

req.assert('email', 'required').notEmpty(); 
req.assert('email', 'valid email required').isEmail(); 
req.assert('password', '6 to 20 characters required').len(6, 20); 

var errors = req.validationErrors(); // Or req.asyncValidationErrors(); 
var mappedErrors = req.validationErrors(true); // Or req.asyncValidationErrors(true); 

mappedErrorsは次のようになります。

{ 
    email: { 
    param: "email", 
    msg: "valid email required", 
    value: "<received input>" 
    }, 
    password: { 
    param: "password", 
    msg: "6 to 20 characters required", 
    value: "<received input>" 
    } 
} 
+1

どうもありがとうございました。それは私をたくさん助けました。 –

関連する問題