улучшение данных (экранирование , лишние пробелы и т. д.)

validator/validator.js

const {body, sanitizeBody} = require('express-validator');//валидация работающая с express
const User = require('../models/user');//Модель User
 
/**
 * Название валидатора произвольное
 * @type {*[]}
 */
exports.registerValidators = [
    body('email')
        .isEmail().withMessage('Введите корректный email')//ПРоверка email
        .custom(async (value, {req})=>{//Асинхронный валидатор, проверка на существование такого email  в базе
            try{
                const user = await User.findOne({//поиск пользователя
                    email: value
                });
                if(user){
                    return Promise.reject('Такой email уже существует');//возврощаем промис чтоб остальные методы ждали его выполнение
                }
            }catch(e){
                console.log(e);
            }
        })
        .normalizeEmail(),//нормализовать email (привести к нижнему регистру и т. д.)
    body('password','минимум 6 символов')
        .isLength({min: 6, max: 56})
        .isAlphanumeric().withMessage('Только цифры и латинские буквы')
        .trim(),//Убрать пробелы
    body('confirm').custom((valuem, {req}) => {//Кастомный валидатор
        if(valuem !== req.body.password){//Проверяем совподают ли значения при подтверждении пароля
            throw new Error('Пароль должен совпадать');
        }
        return true
    })
    .trim(),//Убрать пробелы
    body('name').isLength({min: 3}).withMessage('Минимум три символа').trim()//Имя пользователя
];