在React JS的日期输入字段中不应接受值'0'

时间:2018-08-28 11:10:42

标签: regex reactjs validation

您好,我正在做日期输入验证。因此,我不想仅在日,月和年字段中接受数字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;
  }

那么怎么做。预先感谢。

0 个答案:

没有答案