我有一个 React 应用程序,其中有一个包含一些字段和验证的表单。但是,验证没有像我期望的那样工作。代码如下:
state = {
user: null,
errors: {}
}
onSubmitHandler = e => {
e.preventDefault();
//Check if first Name is returned empty
if (this.state.user.name.trim().length === 0) {
this.setState({
errors: {
...this.state.errors,
name: "This field is required"
}
});
}
//Check if last name is returned empty
if (this.state.user.surname.trim().length === 0) {
this.setState({
errors: {
...this.state.errors,
surname: "This field is required"
}
});
return;
}
}
现在,当我不提供两个输入字段并将它们留空时,我希望我的状态显示两个错误消息,即errors: {name: "This field is required", surname: "This field is required"}
但我只收到最近的姓氏错误。所以我的结果显示像errors: {surname: "This field is required"}
为什么它会覆盖第一条错误消息?任何帮助,将不胜感激。输入字段的代码未显示,因为它们只是带有 onChange 事件处理程序的输入标签。
拉风的咖菲猫
泛舟湖上清波郎朗
相关分类