forked from Transparency/kgroad-frontend2
added change-image feature in profile, sign-up validating password and shows correct error, if user already exists
This commit is contained in:
1 parent
6650a98503
commit
0a7513dd89
5 files changed
+398
-27
No files matched your search
@@ -24,6 +24,7 @@ const SignUpForm = () => {
|
||||
> = async (e) => {
|
||||
e.preventDefault();
|
||||
const formData = new FormData(e.currentTarget);
|
||||
const regex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/;
|
||||
|
||||
if (!formData.get("email")?.toString()) {
|
||||
setError("");
|
||||
@@ -41,6 +42,26 @@ const SignUpForm = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((formData.get("password")?.toString().length as number) < 8) {
|
||||
setError("");
|
||||
setEmailWarning("");
|
||||
setPasswordConfirmWarning("");
|
||||
setPasswordWarning(
|
||||
"Пароль должен содержать минимум 8 символов"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!regex.test(formData.get("password")?.toString() as string)) {
|
||||
setError("");
|
||||
setEmailWarning("");
|
||||
setPasswordConfirmWarning("");
|
||||
setPasswordWarning(
|
||||
"Пароль должен содержать по меньшей мере 1 прописную букву, одну заглавную букву и одну цифру"
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!formData.get("password2")?.toString()) {
|
||||
setError("");
|
||||
setEmailWarning("");
|
||||
@@ -79,9 +100,15 @@ const SignUpForm = () => {
|
||||
}
|
||||
} catch (error: unknown) {
|
||||
if (error instanceof AxiosError) {
|
||||
setError("Произошла непредвиденная ошибка");
|
||||
if (error.response?.status === 401) {
|
||||
setError("Такой пользователь уже существует");
|
||||
} else if (
|
||||
error.response?.status.toString().slice(0, 1) === "5"
|
||||
) {
|
||||
setError("Ошибка на стороне сервера");
|
||||
}
|
||||
} else {
|
||||
setError("An error ocured");
|
||||
setError("Непредвиденная ошибка");
|
||||
}
|
||||
} finally {
|
||||
setLoader(false);
|
||||
|
||||
Reference in new issue
Block a user