Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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
Reactjs 单击submit按钮后是否可以跳过Ant设计表单验证?_Reactjs_Antd - Fatal编程技术网

Reactjs 单击submit按钮后是否可以跳过Ant设计表单验证?

Reactjs 单击submit按钮后是否可以跳过Ant设计表单验证?,reactjs,antd,Reactjs,Antd,在提交AntD表单时(通过单击submit按钮启动),默认情况下,它似乎通过字段验证运行。我正在跟踪每个表单字段更改的验证,因此我的实现不需要这样做 在Ant Design中提交表单时,是否有一种跳过/禁用表单验证的方法?如果您没有给出按钮键入提交,并在按钮上添加onClick方法(下面的handleSubmit),您可以在单击按钮时处理提交,而无需自动运行表单验证 import React from "react"; import ReactDOM from "r

在提交AntD表单时(通过单击submit按钮启动),默认情况下,它似乎通过字段验证运行。我正在跟踪每个表单字段更改的验证,因此我的实现不需要这样做


在Ant Design中提交表单时,是否有一种跳过/禁用表单验证的方法?

如果您没有给出
按钮
键入
提交
,并在按钮上添加
onClick
方法(
下面的handleSubmit
),您可以在单击按钮时处理提交,而无需自动运行表单验证

import React from "react";
import ReactDOM from "react-dom";
import "antd/dist/antd.css";
import "./index.css";
import { Form, Input, Button, Checkbox } from "antd";
const layout = {
  labelCol: {
    span: 8
  },
  wrapperCol: {
    span: 16
  }
};
const tailLayout = {
  wrapperCol: {
    offset: 8,
    span: 16
  }
};

const Demo = () => {
  const [form] = Form.useForm();

  const handleSubmit = (e) => {
    // grab form values
    let form_vals = form.getFieldsValue();
    // perform the rest of submit logic here...
  };

  return (
    <Form
      form={form}
      {...layout}
      name="basic"
      initialValues={{
        remember: true
      }}
    >
      <Form.Item
        label="Username"
        name="username"
        rules={[
          {
            required: true,
            message: "Please input your username!"
          }
        ]}
      >
        <Input />
      </Form.Item>

      <Form.Item
        label="Password"
        name="password"
        rules={[
          {
            required: true,
            message: "Please input your password!"
          }
        ]}
      >
        <Input.Password />
      </Form.Item>

      <Form.Item {...tailLayout} name="remember" valuePropName="checked">
        <Checkbox>Remember me</Checkbox>
      </Form.Item>

      <Form.Item {...tailLayout}>
        <Button type="primary" onClick={handleSubmit}>
          Submit
        </Button>
      </Form.Item>
    </Form>
  );
};

从“React”导入React;
从“react dom”导入react dom;
导入“antd/dist/antd.css”;
导入“/index.css”;
从“antd”导入{表单、输入、按钮、复选框};
常量布局={
labelCol:{
跨度:8
},
包装纸:{
跨度:16
}
};
const tailLayout={
包装纸:{
抵销:8,
跨度:16
}
};
常量演示=()=>{
const[form]=form.useForm();
常量handleSubmit=(e)=>{
//获取表单值
设form_vals=form.getFieldsValue();
//在此处执行提交逻辑的其余部分。。。
};
返回(
记得我吗
提交
);
};

antd版本:4.10

你能分享一下你的表单实现吗?它与我的要求无关,所以没有。我只是为了说明为什么你想做我要求的事情。对于antd表单文档页面上的任何示例,都可能会问这个问题。handleSubmit方法中的validateFields()调用不正是我想要跳过的吗?正如我所说的“如果您完全注释,就不会有错误。”所以您建议只运行表单。然后((val)=>{…?注释表单.validateFields().then.catch()。您可以将此答案与空handleSubmit函数一起使用。我刚才添加此答案是因为您可能需要在其他地方进行验证。您可以在中使用答案