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

根据您提供的代码,如果要将选择的还款渠道以{‘offline’: true}的形式保存在repayChannel字段中,可以按以下方式修改代码:

首先,在checkbox的onChange事件处理程序中,使用一个函数来更新repayChannel.value,以适应新的数据结构。修改后的代码如下:

<div className="col-sm-4">
  <div className="checkbox">
    <label>
      <input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value && repayChannel.value.offline} onChange={() => { repayChannel.onChange({ offline: !repayChannel.value?.offline }) }} /> 线下
    </label>
  </div>
</div>
<div className="col-sm-4">
  <div className="checkbox">
    <label>
      <input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value === 'B'} onChange={() => { repayChannel.onChange('B') }} /> 主动
    </label>
  </div>
</div>
<div className="col-sm-4">
  <div className="checkbox">
    <label>
      <input type="checkbox" name="channelType" {...repayChannel} checked={repayChannel.value === 'C'} onChange={() => { repayChannel.onChange('C') }} /> 代扣
    </label>
  </div>
</div>

然后,在表单提交时,将对应的验证逻辑进行修改。在handleSubmit函数中添加对repayChannel字段值为对象形式(即{‘offline’: true})进行验证的判断,并相应处理错误信息。

const handleSubmit = (values) => {
  console.log('1111111');
  const error = validator(values);
  const requiredError = checkRequired()(null, values);
  if (requiredError) {
    error._error = requiredError;
  } 
  if (!error._error) {
    console.log('验证通过');
  }
  
  // 针对还款渠道为对象形式的处理逻辑
  if (values.repayChannel && typeof values.repayChannel === 'object') {
    // 根据具体需求进行相应的验证操作,示例:
    if (!values.repayChannel.offline) {
      error.repayChannel = '线下渠道不能为空';
    }
  }

  // 其他表单提交相关逻辑...
}

请注意,以上代码修改仅提供了一种可能的解决方案,具体根据您的需求和业务逻辑进行调整。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?