javascript - 如何在更新输入字段时隐藏 React Js 中的验证错误?
问题描述
我是 ReactJs 的新手,我有一个用 react-hook-form 验证的表单。每当我提交表单时,都会显示错误,这很好,但是在更新输入字段时,错误仍然存在。我希望在输入字段更改后隐藏错误。我知道应该用钩子来完成,但由于我是 React 新手,所以我无法编写我的逻辑。
这是我的代码。
export default function SimpleCard() {
const classes = useStyles();
const { register, handleSubmit, errors, reset } = useForm();
const onSubmit = (data, event) => {
event.preventDefault();
console.log(JSON.stringify(data));
reset();
}
return (
<div className={classes.card}>
<Card className={classes.cardBorder} elevation={12}>
<CardContent>
<Typography className={classes.title}>
Log in
<br/>
<span className={classes.subtitle}>(Employee Only)</span>
</Typography>
<hr/>
</CardContent>
<form onSubmit={handleSubmit(onSubmit)} className={classes.root}>
<TextField
size="normal"
placeholder="Enter Your E-mail Address"
label="Email Address"
variant="outlined"
fullWidth
name="email"
inputRef={register({
required: "E-mail Address is required.",
})}
error={Boolean(errors.email)}
helperText={errors.email?.message}
/>
<TextField
size="normal"
placeholder="Enter Your Password"
label="Password"
variant="outlined"
type="Password"
fullWidth
name="password"
inputRef={register({
required: "Password is required.",
})}
error={Boolean(errors.password)}
helperText={errors.password?.message}
/>
<div className={classes.dokmaBG}>
<Button type="submit" variant="contained" size='large' className={classes.dokma}>
<b>Login</b>
</Button>
</div>
</form>
</Card>
</div>
);
}
更新输入字段后,有人可以指导我如何使用钩子隐藏错误消息吗?
解决方案
OnChange,可以更新状态错误对象。
const [error, setError] = useState({})
handleChange = (e) => {
let e = {...error}
setError(e)
}
推荐阅读
- sql-server - AX 2012 - 通过非生产恢复生产
- codenameone - createBackgroundMedia 方法不适用于 URL 和本地文件
- architecture - 单周期 mips,存储 word(sw) 控制值,为什么 MemRead 为 0 而不是“不关心”?
- google-cloud-platform - 如何使用 Google Cloud Armor 将 GKE 上的几个 IP 列入白名单?
- java - MethodHandles.lookup().defineClass 保留
- r - 我希望 R 在将我的输出导出为 pdf 时提示输入文件名和位置
- python - 如何在张量流的占位符中接受张量列表?
- testing - Ranorex 8.3.0,在尝试创建新记录时,它不显示选择网络、桌面或移动应用程序的选项
- javascript - 如何启用特定 div 的禁用复选框?
- java - 如何防止应用关闭时 startCommand 的意图返回 null