fix(validation): validatePassword проверяет заглавную и цифру (соответствует хинту)
Some checks failed
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
Docker Public / Build + push Public (push) Has been cancelled
Docker Public / Deploy Public on stage (push) Has been cancelled
Some checks failed
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker Web / Build + push Web (push) Waiting to run
Docker Web / Deploy Web on stage (push) Blocked by required conditions
Docker Public / Build + push Public (push) Has been cancelled
Docker Public / Deploy Public on stage (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
259706e21f
commit
fc2cbee3d7
|
|
@ -19,13 +19,10 @@ export function validateEmail(value: string): string | null {
|
|||
}
|
||||
|
||||
export function validatePassword(value: string): string | null {
|
||||
// На клиенте — только базовая проверка длины. Все правила сложности
|
||||
// (заглавные, цифры, спецсимволы) проверяет серверный ASP.NET Identity
|
||||
// и возвращает конкретное сообщение в общий error-bar формы. Дублировать
|
||||
// правила на фронте опасно: они расходятся с серверной политикой и
|
||||
// блокируют ввод валидных паролей.
|
||||
if (!value) return 'Это поле обязательно для заполнения'
|
||||
if (value.length < 8) return 'Пароль должен быть не менее 8 символов'
|
||||
if (!/[A-Z]/.test(value)) return 'Пароль должен содержать хотя бы одну заглавную букву'
|
||||
if (!/[0-9]/.test(value)) return 'Пароль должен содержать хотя бы одну цифру'
|
||||
return null
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,12 +26,10 @@ export function validateEmail(value: string): string | null {
|
|||
}
|
||||
|
||||
export function validatePassword(value: string): string | null {
|
||||
// На клиенте — только проверка длины. Сложность (заглавные/цифры/
|
||||
// спецсимволы) проверяет серверный Identity и возвращает конкретное
|
||||
// сообщение в error-bar. Дубль правил на фронте расходится с серверной
|
||||
// политикой и блокирует ввод валидных паролей.
|
||||
if (!value) return messages.required
|
||||
if (value.length < 8) return messages.passwordShort
|
||||
if (!/[A-Z]/.test(value)) return messages.passwordNoUpper
|
||||
if (!/[0-9]/.test(value)) return messages.passwordNoDigit
|
||||
return null
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue