From fc2cbee3d773111a7f1b871466e6a419d8650e88 Mon Sep 17 00:00:00 2001 From: nns Date: Mon, 18 May 2026 12:52:59 +0500 Subject: [PATCH] =?UTF-8?q?fix(validation):=20validatePassword=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=B5=D1=82=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD=D1=83=D1=8E=20=D0=B8=20=D1=86?= =?UTF-8?q?=D0=B8=D1=84=D1=80=D1=83=20(=D1=81=D0=BE=D0=BE=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5=D1=82=20=D1=85=D0=B8?= =?UTF-8?q?=D0=BD=D1=82=D1=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.5 --- src/food-market.public/src/lib/validation.ts | 7 ++----- src/food-market.web/src/lib/validation.ts | 6 ++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/food-market.public/src/lib/validation.ts b/src/food-market.public/src/lib/validation.ts index 25bd8d8..f6b7bf6 100644 --- a/src/food-market.public/src/lib/validation.ts +++ b/src/food-market.public/src/lib/validation.ts @@ -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 } diff --git a/src/food-market.web/src/lib/validation.ts b/src/food-market.web/src/lib/validation.ts index ff1d202..f7b2021 100644 --- a/src/food-market.web/src/lib/validation.ts +++ b/src/food-market.web/src/lib/validation.ts @@ -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 }