Refactor password validation regex for consistency across application
CI / Backend (build + test) (push) Successful in 1m13s
CI / Frontend (lint + typecheck + build) (push) Successful in 31s

- Updated password validation regex in ChangePasswordCommandValidator, RegisterCommandValidator, RegisterForm, and ChangePasswordForm to use Unicode property escapes for uppercase letters, ensuring consistent validation rules across both backend and frontend components.
This commit is contained in:
Leonid Pershin
2026-07-02 22:22:31 +03:00
parent 10e50eb8c7
commit a0cb1b03be
4 changed files with 4 additions and 4 deletions
@@ -10,7 +10,7 @@ public sealed class ChangePasswordCommandValidator : AbstractValidator<ChangePas
RuleFor(x => x.NewPassword)
.NotEmpty()
.MinimumLength(8)
.Matches("^(?=.*[A-Z])(?=.*[0-9]).+$")
.Matches(@"^(?=.*\p{Lu})(?=.*\d).+$")
.WithMessage("Пароль должен содержать минимум одну заглавную букву и одну цифру.");
}
}
@@ -15,7 +15,7 @@ public sealed class RegisterCommandValidator : AbstractValidator<RegisterCommand
RuleFor(x => x.Password)
.NotEmpty()
.MinimumLength(8)
.Matches("^(?=.*[A-Z])(?=.*[0-9]).+$")
.Matches(@"^(?=.*\p{Lu})(?=.*\d).+$")
.WithMessage("Пароль должен содержать минимум одну заглавную букву и одну цифру.");
}
}
+1 -1
View File
@@ -18,7 +18,7 @@ const schema = z.object({
password: z
.string()
.min(8)
.regex(/^(?=.*[A-Z])(?=.*[0-9]).+$/),
.regex(/^(?=.*\p{Lu})(?=.*\d).+$/u),
})
type FormValues = z.infer<typeof schema>
@@ -15,7 +15,7 @@ const schema = z.object({
newPassword: z
.string()
.min(8)
.regex(/^(?=.*[A-Z])(?=.*[0-9]).+$/),
.regex(/^(?=.*\p{Lu})(?=.*\d).+$/u),
})
type FormValues = z.infer<typeof schema>