【问题标题】:React final form at least one mandatory field反应最终形式至少一个必填字段
【发布时间】:2020-01-29 15:54:18
【问题描述】:

我有以下几点:

export const isOneFieldValid = (val: string) => { 
  console.log(val)
  return val ? undefined : true
}

...
const validate = (field: string) => {
  switch (field) {
    case 'email': {
      return composeValidators(isOneFieldValid, isValidEmail, hasStringeMaxLength)
    }
    case 'workPhone':
    case 'homePhone':
    case 'mobile': {
      return composeValidators(isOneFieldValid, isNumber, hasNumberMaxLength)
    }
    default:
      return undefined
  }
}
...

这会验证所有 4 个字段,但有没有办法只验证一个字段,假设它们都是空的?

只要有一种联系用户的方式,我就可以提交表单

【问题讨论】:

    标签: javascript reactjs react-final-form


    【解决方案1】:

    听起来您需要表单级别的验证,而不是字段级别的验证?

    <Form
        onSubmit={onSubmit}
        validate={values => {
                const errors = {}
                if (values.email && isValidEmail && hasStringMaxLength) {
                  return ;
                } else {
                 errors.email = 'Require';
                }
                if (writeFunctionToCheckWorkPhone) {
                  return;
                } else {
                  error.workPhone = 'Require';
                }
                if (writeFunctionToCheckHomePhone) {
                  return ;
                } else {
                  error.homePhone = 'Require';
                }
               if (writeFunctionToCheckMobile) {
                  return ;
                } else {
                  error.mobile = 'Require';
                }
                return errors;
              }}
        ...
    

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 1970-01-01
      • 2021-10-21
      • 2018-10-06
      • 2014-01-07
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      相关资源
      最近更新 更多