【发布时间】:2020-09-22 22:37:32
【问题描述】:
我在使用 React 提交表单时遇到问题。 我需要:
- 使用 React;
- 在提交前验证“必填字段”;
- 阻止页面刷新;
我的 DOM 如下所示:
<div>
<form onSubmit={handleSubmit}>
<input id='1' type="text" required/>
<input id='2' type="text" required/>
<input id='3' type="text" required/>
<input id='4' type="text" required/>
<input id='5' type="text" required/>
<input id='6' type="text" required/>
........
<input id='n' type="text" required/>
</form>
</div>
我得到了如下所示的 handleSubmit 函数
const handleSubmit = (e) => {
//e.preventDefault [HERE IS THE ISSUE]
//something here
}
现在问题出现了:
如果我使用e.preventDefault(),那么在提交时不会验证任何内容,他们的用户可以将某些字段留空并提交;
如果我评论e.preventDefault(),那么点击提交时页面会刷新,这是错误的。
我想知道,是否有比 e.preventDefault() 更详细的方法,例如 e.preventRefrsh() 来阻止确切的步骤(刷新),并保持那些正确的步骤(验证不为空)为他们是。
感谢和亲切的问候, 安森
【问题讨论】:
-
不,不是。
handleSubmit的其余部分是什么?通常在做出反应时,您确实希望阻止默认表单操作并自己提交表单(以应用程序使用的任何方式),这包括进行自己的字段验证。
标签: reactjs forms validation submit refresh