Add email and phone validation to request-access modal

This commit is contained in:
2026-05-14 06:29:37 +00:00
parent beb2781123
commit eb05bcac53
2 changed files with 17 additions and 0 deletions
+5
View File
@@ -440,8 +440,13 @@ async def request_access(request: Request, db: Session = Depends(get_db)):
manager = str(data.get("manager", "")).strip()
products = data.get("products", [])
import re as _re
if not name or not company or not email or not phone:
raise HTTPException(status_code=422, detail="Заполните все обязательные поля")
if not _re.match(r'^[^\s@]+@[^\s@]+\.[^\s@]+$', email):
raise HTTPException(status_code=422, detail="Некорректный email")
if not _re.match(r'^[\+\d][\d\s\-\(\)]{6,18}$', phone):
raise HTTPException(status_code=422, detail="Некорректный номер телефона")
products_text = ""
if products:
+12
View File
@@ -175,11 +175,23 @@
const checked = [...document.querySelectorAll('#am-products input[type=checkbox]:checked')];
const products = checked.map(c => c.value);
const emailRe = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const phoneRe = /^[\+\d][\d\s\-\(\)]{6,18}$/;
if (!name || !company || !email || !phone) {
errEl.textContent = 'Пожалуйста, заполните все обязательные поля';
errEl.style.display = 'block';
return;
}
if (!emailRe.test(email)) {
errEl.textContent = 'Введите корректный email';
errEl.style.display = 'block';
return;
}
if (!phoneRe.test(phone)) {
errEl.textContent = 'Введите корректный номер телефона';
errEl.style.display = 'block';
return;
}
btnSubmit.disabled = true;
btnSubmit.textContent = 'Отправка...';