Async Validator 异步校验不生效是怎么回事?
我在用 Ant Design 的 Form 表单做用户名重复校验,明明写了 async validator,但输入后完全没触发请求,控制台也没报错,是哪里写错了吗?
我试过把 validator 函数单独提出来,也加了 await,但还是不行。代码大概长这样:
const validateUsername = async (_, value) => {
if (value) {
const res = await fetch(<code>/api/check-username?name=${value}</code>);
const data = await res.json();
if (data.exists) {
return Promise.reject('用户名已存在');
}
}
return Promise.resolve();
};
然后在 rules 里用了 validator: validateUsername,但输完字一点反应都没有……
复制过去试试,应该能解决你的问题。