TDesign 表单校验不生效是怎么回事?

打工人一可 阅读 10

我用 TDesign 的 Form 组件做表单校验,但明明设置了 rules,提交时却完全没触发校验,直接就通过了,这是啥情况?

我试过把 required 设成 true,也检查了字段名和 model 一致,但还是不行。控制台也没报错,就是静默跳过了校验。

const formRules = {
  email: [{ required: true, message: '请输入邮箱' }]
};

// JSX 中
<Form form={form} rules={formRules}>
  <FormItem name="email">
    <Input placeholder="请输入邮箱" />
  </FormItem>
</Form>
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
W″立顺
问题很简单:你没在提交时调用 form.validate() 就直接提交了。TDesign 的校验不会自动触发,必须手动调用。

const handleSubmit = async () => {
const result = await form.validate();
if (result === true) {
// 校验通过,提交数据
}
};

// 或者用 onSubmit 事件



另外提醒一下,Form 组件还需要传 data 属性绑定数据模型,不然校验也跑不起来:






点赞
2026-03-17 14:06