reactjs - 如何在 Formik Validations Reactjs 中添加单选按钮?

标签 reactjs

我正在使用 Formik 验证我的注册表我想通过单选按钮添加验证性别我该怎么做。我无法添加单选按钮。

这就是我所做的:-

 const SignupSchema = Yup.object().shape({
        email: Yup.string()
          .email('Invalid email')
          .required('Required'),
        password: Yup.string()
          .min(4, 'Password Must be four characters long!')
          .max(20, 'Too Long!')
          .required('Required'),

      });
    class Register extends Component {
        render() {
            return (
                   <Formik
                     initialValues={{
                        email: '',
                        password:'',
                        gender:'',

                     }}
                     validationSchema={SignupSchema}
                     onSubmit={values => {
                       console.log(values);
                     }}
                   >
                     {({ errors, touched }) => (
                       <Form>

                         <Field style={customStyles.textfield} placeholder="Email" name="email" type="email" />
                         {errors.email && touched.email ? <div}>{errors.email}</div> : null}

                         <Field placeholder="Enter Password" name="password" type="password" />
                         {errors.password && touched.password ? <div >{errors.password}</div> : null}


                         <button type="submit">Submit</button>
                       </Form>
                     )}
                   </Formik>
             </div>
            )
        }
    }

最佳答案

将性别初始值更改为

        <Field
          name="gender"
          render={({ field }) => (
            <>
              <div className="radio-item">
                <input
                  {...field}
                  id="male"
                  value="male"
                  checked={field.value === 'male'}
                  name="type"
                  type="radio"
                />
                <label htmlFor="male">Male</label>
              </div>

              <div className="radio-item">
                <input
                  {...field}
                  id="female"
                  value="female"
                  name="type"
                  checked={field.value === 'female'}
                  type="radio"
                />
                <label htmlFor="female">Female</label>
              </div>
            </>
          )}
        />

关于reactjs - 如何在 Formik Validations Reactjs 中添加单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58065376/

相关文章:

javascript - 是否可以在不渲染的情况下深度遍历 React Children?

javascript - 将 useState 状态传递给 React 中的路由器组件

reactjs - 为什么不直接从 Action Creator Redux 调度到 store 呢?

javascript - 如何以React方式动态注入(inject)div?

reactjs - 如何在 React Native 中创建可拖动组件?

javascript - 开发服务器返回响应错误代码:500(React Native)

javascript - 为什么我无法使用 enzyme 检测按钮元素?

javascript - React.forwardRef 导致样式组件错误

javascript - 防止 react-redux 在状态改变时重新渲染整个页面

javascript - react 日期选择器。如何节省状态时间?