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