Новый правки сайта

This commit is contained in:
Web-serfer 2026-05-05 22:49:13 +05:00
parent 6752fd8486
commit a5d9de59b1
3 changed files with 9 additions and 9 deletions

View file

@ -8,7 +8,7 @@ console.log('[DEBUG] PB_ADMIN_EMAIL:', PB_ADMIN_EMAIL);
console.log('[DEBUG] PB_ADMIN_PASSWORD exists:', !!PB_ADMIN_PASSWORD);
const PASSWORD_MIN_LENGTH = 8;
const PASSWORD_MAX_LENGTH = 12;
const PASSWORD_MAX_LENGTH = 20;
const PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d_!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+$/;
async function getAdminToken(): Promise<string> {
@ -64,7 +64,7 @@ function validatePassword(password: string): { valid: boolean; error?: string }
return { valid: false, error: 'Пароль должен быть не менее 8 символов' };
}
if (password.length > PASSWORD_MAX_LENGTH) {
return { valid: false, error: 'Пароль не должен превышать 12 символов' };
return { valid: false, error: 'Пароль не должен превышать 20 символов' };
}
if (!PASSWORD_REGEX.test(password)) {
return { valid: false, error: 'Пароль должен содержать хотя бы одну букву и одну цифру' };

View file

@ -3,7 +3,7 @@ import { pb } from '../../../lib/pb';
import { sendEmail, generateVerifyEmailHtml, getSiteUrl } from '../../../lib/email';
const PASSWORD_MIN_LENGTH = 8;
const PASSWORD_MAX_LENGTH = 12;
const PASSWORD_MAX_LENGTH = 20;
const PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d_!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]+$/;
function validatePassword(password: string): { valid: boolean; error?: string } {
@ -11,7 +11,7 @@ function validatePassword(password: string): { valid: boolean; error?: string }
return { valid: false, error: 'Пароль должен быть не менее 8 символов' };
}
if (password.length > PASSWORD_MAX_LENGTH) {
return { valid: false, error: 'Пароль не должен превышать 12 символов' };
return { valid: false, error: 'Пароль не должен превышать 20 символов' };
}
if (!PASSWORD_REGEX.test(password)) {
return { valid: false, error: 'Пароль должен содержать хотя бы одну букву и одну цифру' };

View file

@ -73,7 +73,7 @@ import { SITE_URL } from '@constants';
<div class="form-group">
<label for="password">
Пароль
<span class="hint">От 8 до 12 символов</span>
<span class="hint">От 8 до 20 символов</span>
</label>
<div class="password-wrapper">
<input
@ -921,11 +921,11 @@ import { SITE_URL } from '@constants';
});
passwordInput?.addEventListener('input', () => {
if (passwordInput.value.length > 12) {
passwordInput.value = passwordInput.value.slice(0, 12);
if (passwordInput.value.length > 20) {
passwordInput.value = passwordInput.value.slice(0, 20);
}
if (passwordInput.value && !validatePassword(passwordInput.value)) {
showError(passwordInput, 'Пароль должен быть 8-12 символов');
showError(passwordInput, 'Пароль должен быть 8-20 символов');
} else {
clearError(passwordInput);
}
@ -981,7 +981,7 @@ import { SITE_URL } from '@constants';
}
if (!validatePassword(password)) {
showError(passwordInput, 'Пароль должен быть от 8 до 12 символов');
showError(passwordInput, 'Пароль должен быть от 8 до 20 символов');
hasErrors = true;
}