express-validator
express-validator は、バリデーターおよびサニタイザー関数をラップする
Express ミドルウェアである。
Custom validator
express-validator は依存関係である validator.js1 を通じて文字列のバリデーションを実現しているが、
より高度なものを実現するには custom validator external_link を使用する必要がある。
GROWIでの使用例
src/server/routes/apiv3/notification-setting.jsglobalNotification: [ body('triggerPath').isString().trim().not().isEmpty(), body('notifyToType').isString().trim().isIn(['mail', 'slack']), body('toEmail').trim().custom((value, { req }) => { return (req.body.notifyToType === 'mail') ? (!!value && value.match(/.+@.+\..+/)) : true; }), body('slackChannels').trim().custom((value, { req }) => { return (req.body.notifyToType === 'slack') ? !!value : true; }), ],
toEmail のバリデーションは常に実行する訳ではなく、 notifyToType
が email の場合のみに実行する。
関連ページ
Footnotes
-
文字列のみを検証およびサニタイズするライブラリ external_link ↩