首页 > 解决方案 > react js的日期输入字段中不应接受值'0'

问题描述

大家好,我正在做日期输入验证。所以我不想只在日月年字段中接受数字 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;
  }

那么如何做到这一点。提前致谢。

标签: regexreactjsvalidation

解决方案


推荐阅读