Javascript Yup模式电子邮件重置密码字段验证与formik
我在表单中使用formic,所以这里是我的HTMLJavascript Yup模式电子邮件重置密码字段验证与formik,javascript,reactjs,formik,formik-material-ui,Javascript,Reactjs,Formik,Formik Material Ui,我在表单中使用formic,所以这里是我的HTML <form onSubmit={handleSubmit} className={css.loginForm}> <Input variant='standard' textAlign='center' placeholder='Password' id='password'
<form onSubmit={handleSubmit} className={css.loginForm}>
<Input
variant='standard'
textAlign='center'
placeholder='Password'
id='password'
name='password'
type='password'
value={values.password}
onChange={handleChange}
onBlur={handleBlur}
autoFocus
error={errors.password && touched.password}
/>
<Input
variant='standard'
textAlign='center'
placeholder='Repeat Password'
id='repeatPassword'
name='repeatPassword'
type='password'
value={values.repeatPassword}
onChange={handleChange}
onBlur={handleBlur}
autoFocus
error={errors.repeatPassword && touched.repeatPassword}
/>
{errors.repeatPassword ? (
<div>{errors.repeatPassword}</div>
) : null}
<Button
variant='primary'
theme='light'
type='submit'
disabled={!!errors.password || !!errors.repeatPassword}>
<Typography variant='h1'>Reset Password</Typography>
</Button>
</form>
在这里,失败的条件是:
repeatPassword
是空字符串'
。因此,如果此字段未填充,则错误。repeatPassword为'
且按钮的已禁用
为false
validationSchema: Yup.object().shape({
password: Yup.string().required('Password is required'),
repeatPassword: Yup.string()
.required('Required')
.oneOf([Yup.ref('password'), null], 'Passwords must match')
}),
{errors.repeatPassword!==“必需”&&{errors.repeatPassword}}
validationSchema: Yup.object().shape({
password: Yup.string().required('Password is required'),
repeatPassword: Yup.string()
.required('Required')
.oneOf([Yup.ref('password'), null], 'Passwords must match')
}),