Встречается на собеседованиях • сегодня

Как валидировать значение полученное от пользователя

Для валидации пользовательского ввода в Python можно использовать несколько подходов:

  1. Проверка типов с помощью isinstance():
python
if not isinstance(user_input, str):
    raise ValueError("Input must be a string")
  1. Регулярные выражения для сложных паттернов:
python
import re
if not re.match(r'^[a-zA-Z0-9_]+$', username):
    raise ValueError("Invalid characters in username")
  1. Встроенные валидаторы (например, для email можно использовать email-validator):
python
from email_validator import validate_email
try:
    email = validate_email(user_email).email
except Exception as e:
    print(str(e))
  1. Специализированные библиотеки типа Pydantic:
python
from pydantic import BaseModel, ValidationError

class User(BaseModel):
    name: str
    age: int

try:
    user = User(name="John", age="twenty")
except ValidationError as e:
    print(e)

Основные принципы:

  • Всегда валидируйте на стороне сервера, даже если есть фронтенд-валидация
  • Предоставляйте четкие сообщения об ошибках
  • Обрабатывайте исключения
  • Для веб-приложений используйте CSRF-токены
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы