我正在从 redux-form 迁移,但我在表单上遇到了问题,我有异步验证。此验证在更改时发生,但我想仅在用户停止键入时才执行异步调用。
在 redux 形式中,我使用了 setTimeout、clearTimeout 并在异步验证中抛出类似于这样的错误
我已经创建了我希望工作的示例。完整示例可在此处获得。
const usernameAvailable = value => {
if (!value) {
return "Required";
}
setTimeout(() => {
return "Username taken!";
}, 500);
};
如果没有值,Required
按预期工作,但Username taken!
永远不会显示为错误。
使用validateOnBlur
怎么样?