Я хотел бы знать, существует ли пользователь или телефон в моей передней форме,
Я не жду ответа, но что-то говорит мне сделать это.
Я используюYup + Formik для всех моих требований.
На моем бэкэнде с Sequelize мне удалось показать, существует ли имя пользователя или телефон:
passport.use(
'register',
new LocalStrategy(
{
usernameField: 'username',
passwordField: 'password',
passReqToCallback: true,
session: false,
},
(req, username, password, done) => {
console.log(username);
console.log(req.body.phone)
try {
User.findOne({
where: {
[Op.or]: [
{
username,
},
{ phone: req.body.phone },
],
},
}).then(user => {
if (user != null) {
console.log('username or phone already taken');
return done(null, false, {
message: 'username or phone already taken',
});
}
bcrypt.hash(password, BCRYPT_SALT_ROUNDS).then(hashedPassword => {
User.create({
username,
password: hashedPassword,
phone: req.body.phone,
}).then(user => {
console.log('user created');
return done(null, user);
});
});
});
} catch (err) {
return done(err);
}
},
),
);
Но мне трудно понять это на моем фронтеЯ думаю, что могу получить эту информацию в моем axios .catch? :
const onSubmit = async function onSubmit(values) {
axios({
method: 'POST',
url: 'http://localhost:4242/registerUser',
data: values,
headers: { 'Content-Type': 'application/json' },
})
.then(() => {
setModalOpen(true);
setUsername(nameRef.current.value);
setRedirect(true);
setCount(4);
})
.catch(function (error) {
});
};
return (
<div className="container-all-form">
<Formik
initialValues={initialValues}
validate={validate(getValidationSchema)}
onSubmit={onSubmit}
>
// my form