我正在使用react -hook-form npm 包進行表單驗證。它具有名字,姓氏,電子郵件,密碼和確認密碼等欄位。當我單擊提交時,它將由useForm ()鉤子中的 handleSubmit 處理。但我不想在提交表單后獲得的資料中包含確認密碼欄位值。
在這里,我分享了我撰寫的代碼......
<Grid item xs={12}>
<TextField
required
fullWidth
name="password"
label="Password"
type="password"
id="password"
autoComplete="new-password"
{...register("password", { required: "Required"})}
error={!!errors.password}
helperText={errors?.password ? errors.password.message : null}
/>
</Grid>
<Grid item xs={12}>
<TextField
required
fullWidth
name="confirmPassword"
label="Confirm Password"
type="password"
id="confirmPassword"
{...register("confirmPassword", {
required: "Required",
validate: (val) => {
if(watch('password') != val) {
return "Password does not match"
}
}
})}
error={!!errors.confirmPassword}
helperText={errors?.confirmPassword ? errors.confirmPassword.message : null}
/>
</Grid>
uj5u.com熱心網友回復:
您可以在 handleSubmit 回呼中洗掉這些欄位:
const onSubmit = (data) => {
delete data.confirmPassword;
alert(JSON.stringify(data));
};
作業示例: https ://codesandbox.io/s/react-hook-form-handlesubmit-v7-uqmiy?file=/ src/index.jsx:195-230 使用注銷的另一個選項:
<div>
<label htmlFor="password">Password</label>
<input type="password" {...unregister("password")} placeholder="" />
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/472805.html
標籤:javascript 反应 验证 反应挂钩形式
