Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误对象返回未定义的formik,带有yup_Javascript_Reactjs_Formik_Yup - Fatal编程技术网

Javascript 错误对象返回未定义的formik,带有yup

Javascript 错误对象返回未定义的formik,带有yup,javascript,reactjs,formik,yup,Javascript,Reactjs,Formik,Yup,我正在尝试用Formik和Yup(用于验证)生成一个表单。我已经创建了yup对象形状,将初始值设置为formik,但验证仍然不起作用。formik的错误道具返回未定义 import React from "react"; import { Formik, Form, Field } from "formik"; import * as Yup from "yup"; const schema = Yup.object().shape({ email: Yup.string() .l

我正在尝试用Formik和Yup(用于验证)生成一个表单。我已经创建了yup对象形状,将初始值设置为formik,但验证仍然不起作用。formik的错误道具返回未定义

import React from "react";
import { Formik, Form, Field } from "formik";
import * as Yup from "yup";

const schema = Yup.object().shape({
  email: Yup.string()
    .label("Email")
    .required("Enter a valid email")
    .email()
});

class OneForm extends React.Component {
  state = {
    email: ""
  };

  render() {
    return (
      <>
        <Formik
          initialValues={{
            email: ""
          }}
          onSubmit={(values, actions) => {
            console.log(values);
            this.setState({
              email: values.email
            });
            setTimeout(() => {
              actions.setSubmitting(false);
              actions.resetForm();
            }, 1000);
          }}
          validationSchema={schema}
        >
          {props => {
            return (
              <Form>
                {console.log(props.errors)}

                <Field
                  type="email"
                  placeholder="Email"
                  name="email"
                  onChange={props.handleChange}
                />

                {props.errors.email && <p>{props.errors.email}</p>}
                <br />
                <button
                  disabled={props.isSubmitting}
                  type="submit"
                  onClick={props.handleSubmit}
                >
                  Submit
                </button>
              </Form>
            );
          }}
        </Formik>
      </>
    );
  }
}

export default OneForm;
从“React”导入React;
从“Formik”导入{Formik,Form,Field};
从“Yup”导入*作为Yup;
const schema=Yup.object().shape({
电子邮件:Yup.string()
.标签(“电子邮件”)
.必填(“输入有效电子邮件”)
.email()
});
类OneForm扩展了React.Component{
状态={
电子邮件:“
};
render(){
返回(
{
console.log(值);
这是我的国家({
电子邮件:values.email
});
设置超时(()=>{
动作。设置提交(错误);
actions.resetForm();
}, 1000);
}}
validationSchema={schema}
>
{props=>{
返回(
{console.log(props.errors)}
{props.errors.email&&p>{props.errors.email}

}
提交 ); }} ); } } 导出默认表单;
有人能帮我吗?似乎他们在这方面有一个积极的问题:
但是,似乎有些人也解决了这个问题。这里有什么帮助吗?

似乎在chrome或firefox上为我@ksav工作?顺便说一句,表单工作正常,但验证不起作用。您是否看到空白提交上的任何警告?控制台在使用Chrome74提交空白表单时记录
{email:“输入有效电子邮件”}
,这不意味着验证正在工作吗?chrome或firefox上的@ksav似乎正在为我工作?顺便说一句,表单工作正常,但验证不起作用。您是否在空白提交上看到任何警告?控制台使用Chrome74在空白表单提交上记录
{email:“输入有效电子邮件”}
,这是否意味着验证正在工作?