antd 不用form onsubmit 如何完成必填项的校验

发布于 2022-09-06 11:30:55 字数 990 浏览 13 评论 0

我是这么写的:

    <Modal
        title={<span className="AddManagement">新增设备</span>}
        visible={this.state.visible}
        onOk={this.handleOk}
        onCancel={this.handleCancel}
        footer=""//会让自带的取消 确定 按钮消失
    >
     <Form >
<FormItem
    label="设备类型编号"
    labelCol={{ span: 6 }}
    wrapperCol={{ span: 16 }}
>
    {getFieldDecorator('code', {
        rules: [{ required: true, message: '请输入设备类型编号!' }],
    })(
        <Input />
    )}
</FormItem>
      <FormItem
    wrapperCol={{ span: 16, offset: 10 }}
>
    <Button type="primary" onClick={this.state.save?this.submit:this.putSubmit}>
        保存提交
    </Button>
</FormItem>
        </Form>
    </Modal>

现在的问题是 我在新增数据的时候没有填入任何数据,点击保存的时候向后台发送,没有触发必填项的校验,是因为我没有用 onsubmit 事件的缘故吗。
效果图 :图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

究竟谁懂我的在乎 2022-09-13 11:30:55

不用,在handleOk函数时,可以做校验!

 handleOk = (e) => {
        const self = this;
        this.props.form.validateFields((errors, values) => {
            if (!!errors) {
                console.log(errors);
                return;
            };
          
            this.setState({
                visible: false,//关闭modal

            });
           //提交调的接口
        })


    };
那一片橙海, 2022-09-13 11:30:55

其实这个问题和onsubmit 没有什么关系,是我自己学艺不精,要校验必填选项,可以在方法中添加

function a (e){
    e.preventDefault();//***
    this.props.form.validateFields((err) => {//***
          if (err) {
              return;
          }
          axios();
 }
忆梦 2022-09-13 11:30:55

使用自定义校验:

https://ant.design/components...

脱离 Form.create(), 然后在 render() 中执行校验函数.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文