Как проверить час, используя экспресс-валидатор 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, вы должны пропустить косую черту в начале и конце строки.

Другие вопросы по тегам