значение '0' не должно приниматься в поле ввода даты в реакции js - PullRequest
0 голосов
/ 28 августа 2018

Привет всем, что я делаю проверки ввода даты. Так что я не хочу принимать число 0 только в поле дня, месяца и года.

Мой формат ввода даты dd mm yyyy, все три будут разделять компоненты ввода.

вот что я пытался остановить двумя нулями

// validation day 
export function dayValidation(str) {
  if(str.search(/^00/) !== -1){
    return "0"; 
  }    
  return extract(str, '^([0-2]?[0-9]|3[01]|10|20)$');
}

// validation month 
export function monthValidation(str) {
  if(str.search(/^00/) !== -1){
    return "0"; 
  } 
  return extract(str, '^([0-1]?[0-2]|0[1-9]|[0-9])$');
}

export function yearValidation(str) {
  if(str.search(/^0/) !== -1){
    return ""; 
  } 
  return extract(str, '[0-9]+');

}

работает нормально, не вводя две цифры 00. но я хочу показать ошибку, если значение будет только 0.

вот что я пытался проверить:

if (Validator.isEmpty(data.applyStartYear)) {
    errors.applyStartYear = APPLY_START_DATE;
  }

  if (Validator.isEmpty(data.applyEndYear)) {
    errors.applyEndYear = APPLY_END_DATE;
  }

  if(!dateValidation(`${data.applyStartDay}-${data.applyStartMonth}-${data.applyStartYear}`, `${data.applyEndDay}-${data.applyEndMonth}-${data.applyEndYear}`) && !Validator.isEmpty(data.applyEndYear)){
    errors.applyEndYear = DATE_MISMATCH;
  }

так как это сделать. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...