Почему метод normalizeEmail у express_validator удаляет точку в названии email?

Стек технологий MERN (Mongo, Express, React и Node). Есть форма авторизации, с полями email и пароль и две кнопки "Войти" и "Регистрация".

введите сюда описание изображения

При нажатие на кнопку "Войти", происходит вызов метода loginHandler() отправляющий запрос на бэк.

  const loginHandler = async () => {
    try {
      const data = await request('/api/auth/login', 'POST', { ...form });
      message(data.message);
    } catch (e) {}
  };

На бэк запрос обрабатывается в файле auth.routes.js

const { Router } = require('express');
const bcrypt = require('bcrypt');
const config = require('config');
const jwt = require('jsonwebtoken');
const { check, validationResult } = require('express-validator');
const User = require('../models/User');
const router = Router();  
// Запрос на авторизацию пользователя
router.post(
'/login',
[
  check('email', 'Введите корректный email').normalizeEmail().isEmail(),
  check('password', 'Введите пароль').exists(),
],
async (req, res) => {
  try {
    const errors = validationResult(req);

    if (!errors.isEmpty()) {
      return res.status(400).json({
        errors: errors.array(),
        message: 'Некорректные данные при входе в приложение',
    });
  }

  const { email, password } = req.body;

  const user = await User.findOne({ email });

  if (!user) {
    return res.status(400).json({ message: 'Пользователь не найден' });
  }

  const isMatch = await bcrypt.compare(password, user.password);

  if (!isMatch) {
    return res.status(400).json({ message: 'Неверный пароль, попробуйте снова' });
  }

  const token = jwt.sing(
    {
      userId: user.id,
    },
    config.get('jwtSecret'),
    { expiresIn: '1h' },
  );

  res.json({ token, userId: user.id });
} catch (e) {
  res.status(500).json({ message: 'Что-то пошло не так, попробуйте снова' });
}

}, );

module.exports = router;

Валидацию полей обрабатываю, используя express-validator.js. Если в роуте использую метод normalizeEmail(), то в консоли бэк, если в email'е есть символ .(точка), получаю [email protected].

введите сюда описание изображения

Как только в роуте удаляю метода normalizeEmail(), то в консоле приходит корректный email [email protected] введите сюда описание изображения

Просьба помочь разобраться, почему при использовании метода normalizeEmail, на бэке пропадает символ точки в названии email'a


Ответы (0 шт):