> ## Documentation Index
> Fetch the complete documentation index at: https://ziva.zeleza.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# Встроенные валидаторы

> Полный список встроенных валидаторов Termos

# Встроенные валидаторы

Termos предоставляет широкий набор встроенных валидаторов.

## Базовые валидаторы

### Required

Проверяет, что поле не пустое:

```go
v.Required()
```

### MinLength / MaxLength

Проверка минимальной и максимальной длины:

```go
v.MinLength(5)    // минимум 5 символов
v.MaxLength(100)  // максимум 100 символов
v.Length(8)       // точно 8 символов
```

## Сетевые валидаторы

### Email

Проверка корректности email адреса:

```go
v.Email()
v.OptionalEmail() // необязательный email
```

### URL

Проверка корректности URL:

```go
v.URL()
v.OptionalURL() // необязательный URL
```

### IP Address

Проверка IP адресов (v4 и v6):

```go
v.IP()    // любой IP
v.IPv4()  // только IPv4
v.IPv6()  // только IPv6
```

### Domain

Проверка доменных имен:

```go
v.Domain()
```

### Port

Проверка номера порта (1-65535):

```go
v.Port()
```

## Числовые валидаторы

### Range

Проверка диапазона чисел:

```go
v.Range(1, 100)    // от 1 до 100
v.Min(0)           // минимум 0
v.Max(1000)        // максимум 1000
```

## Строковые валидаторы

### AlphaNumeric

Только буквы и цифры:

```go
v.AlphaNumeric()
```

### Username

Проверка имени пользователя:

```go
v.Username() // буквы, цифры, подчеркивания
```

## Валидаторы паролей

### StandardPassword

Стандартный пароль (минимум 8 символов):

```go
v.StandardPassword()
```

### StrongPassword

Сильный пароль (минимум 12 символов, разные типы символов):

```go
v.StrongPassword()
```

## Пример использования

```go
task := termos.NewInputTask("Email", "Введите email:")
    .WithValidator(v.Email())
```
