ZBLOG

const trimLeft = function trimLeft(s) { return s.replace(/(^\s*)/g, ''); }; const isEmpty = function isEmpty(value) { return value === undefined || value === null || trimLeft(value) === ''; }; const checkRequired = (data) => { return (valu

根据你提供的代码,我看到有一些错误和需要修改的地方。首先,checkoutLegalPerson 函数缺少 field 参数。其次,在 handleSubmit 函数中,你尝试使用了 value 变量但没有定义它。

以下是对代码进行修改并实现验证通过的示例:

const trimLeft = function trimLeft(s) {
  return s.replace(/(^\s*)/g, '');
};

const isEmpty = function isEmpty(value) {
  return value === undefined || value === null || trimLeft(value) === '';
};

const checkRequired = () => {
  return (value, fields) => {
    if (isEmpty(fields['extension']) || isEmpty(fields['maxExtenPeriods']) || isEmpty(fields['repayChannel'])) {
      return '都要填写';
    }
  };
};

const checkoutLegalPerson = (field) => {
  return (value) => {
    if (!value) {
      return `${field}不能为空`;
    }
  };
};

const validator = createValidator({
  extension: [(value, fields) => {
    if (fields.extension === true && isEmpty(value)) {
      return '最长展期期数';
    }
    if (!fields.extension) {
      return;
    }
  }],
  maxExtenPeriods: [checkoutLegalPerson('maxExtenPeriods')],
  repayChannel: [checkoutLegalPerson('还款渠道')],
});

const handleSubmit = (values) => {
  console.log('1111111');
  
  const error = validator(values);
  
  const requiredError = checkRequired()(null, values);
  
  if (requiredError) {
    error._error = requiredError;
  } 
  
  if (!error._error && Object.keys(error).length === 0) {
    console.log('验证通过');
  }
};

请注意,以上只是对代码的修改示例,并不能保证完全符合你的业务逻辑。你可能还需要根据实际需求进行进一步调整。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=9969

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?