Как проверить час, используя экспресс-валидатор Npm
Я пытаюсь использовать express-validator
подтвердить час. Я послал этот JSON:
{
"hour" : "10:30",
"day":"monday"
}
в следующем коде:
var regex = new RegExp('/^(10|11|12|[1-9]):[0-5][0-9]$/');
var hour = req.body.hour;
req.check('hour',"error to add hour").matches(regex);
var errors = req.validationErrors();
if(errors){
res.status(400).send(errors);
} else {
res.status(200).json({hour:'hour ok'});
}
программа выдает мне следующую ошибку:
[
{
"param": "hour",
"msg": "error to add hour",
"value": "10:30"
}
]
Я думаю, что моя ошибка в проверке регулярных выражений. должен отправить мне {hour:'hour ok'}
... Помогите мне, пожалуйста!!!
1 ответ
Решение
Я думаю, это работает лучше, если вы используете
new RegExp(/^(10|11|12|[1-9]):[0-5][0-9]$/);
или же
new RegExp('^(10|11|12|[1-9]):[0-5][0-9]$');
Если вы используете строку в качестве аргумента для конструктора regexp, вы должны пропустить косую черту в начале и конце строки.