Check username pada database dengan express-validator .custom()

saya mencoba menggunakan express-validator untuk melakukan vaidasi data saat login.. untuk validasi custom nya saya mencoba menggunakan async/await tapi tidak berjalan walaupun returnya false

untuk kode validasinya ini

const User = require("./../controllers/registerController")

exports.createUser = (req, res, next) => {
	req.check('username')
		.notEmpty().withMessage('username name required')
		.custom(async (value) => {
			return await User.getUsername(value).then(user => {
				if (user) {
					return false
				}
				return true
			})
		}).withMessage('Username already exists')
		.isLength({
			min: 10,
			max: 15
		}).withMessage("username must between 6 to 15 charackter")

	const errors = req.validationErrors()
	if (errors) {
		const error = errors.map(error => {
			return {
				[error.param]: error.msg
			}
		})
		return res.status(400).json({
			error: error
		})
	}

	next()
}

kode pengambilan datanya ini

const Register = require("./../models/register");
exports.getUsername = (username) => {
	const query = {
		username: username
	}
	return Register
		.find(query)
		.then(user => {
			return user
		})
		.catch(err => {
			throw (err);
		})
};

avatar kallera002
@kallera002

5 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban