我想通过表单外部的按钮提交表单并对该表单进行验证。我正在使用react-bootstrap 中的Form 标签。
我的代码不验证表单
<Form
noValidate
validated={validated}
onSubmit={e=> this.handleSubmit(e)}>
<Form.Control
required
placeholder="Product Name"
onChange={e => this.setState({name: e.target.value })}
pattern={"[A-Z a-z]{3,30}"}
/>
</Form>
<button type="button" value="send" onClick={(e) => this.handleSubmit(e)} className={"btn btn-primary"}>Save</button>
handleSubmit(event) {
const form = event.currentTarget;
if (form.checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
else
this.AddProduct();
this.setState({ validated: true });
}
理想情况下:不要这样做。表单元素是有用的结构元素。
失败了。添加一个form
按钮的属性,其值等于id
表单的属性。
form HTML5
与按钮关联的表单元素(其表单所有者)。该属性的值必须是a的id属性<form>
同一文档中的元素。如果没有这个属性
指定,将<button>
元素将与祖先相关联<form>
元素(如果存在)。该属性使您能够
联系<button>
元素到<form>
a 中任意位置的元素
文件,不仅仅是作为后代<form>
元素。
— MDN https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)