自定义响应消息,validation节点js中的所有必需参数
我是NodeJS和Express的新手,我想validationAPI参数。 现在我通过以下方式validation参数:
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." ] }
这是我想要的,如果参数无效或没有提供的响应。
你可能会发现快速validation器是你在这里所需要的。 特别是这一部分:
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>" } }