Делаю валидацию ввода времени на чистом JS

Рейтинг: 1Ответов: 1Опубликовано: 13.02.2023
const data = {
    "channel": "",
    "chat_id": "",
    "message": {
        "type": "text",
        "text": {
            "date": "13/02/2023",
            "time": "09:15",
            "text": "текст"
        }
    }
}


function validate_time(value){
      const arrD = value.split(":");
      const t = new Date(arrD[1], arrD[0]);

  if ((t.getHours() == arrD[0]) && (t.getMinutes() == arrD[1])) {
    return value;
  } else {
    return false;
  }
}

Подскажите что нужно изменить(Если что то можно сделать) что б работало с данными (arrD[1] = 21) (arrD[0] = 33), где(21,33) время введенное в форму, сами методы просят для них указать дату, а потом уже указывать время по типу February 13, 21:33, при этом уже есть готовый дата объект с разбитой датой, временем, и текстом,

или подскажите другой способ для валидации. Буду очень благодарен

Ответы

▲ 0
const isTimeValid = (t) => {
  const [h, m] = t.split(':');
  const hv = Number(h) >= 0 && Number(h) <= 23;
  const mv = Number(m) >= 0 && Number(m) <= 59 && m.length === 2;
  return hv && mv;
};

Если кому нужно