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