core

package
v0.0.0-...-d918011 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateCSRFToken

func GenerateCSRFToken() (string, error)

generateCSRFToken генерирует CSRF-токен с использованием SHA-256. Возвращает токен в виде строки base64 или ошибку, если что-то пошло не так.

func UpdateModelFromForm

func UpdateModelFromForm(model interface{}, form *Form) error

UpdateModelFromForm обновляет поля модели на основе данных из формы.

Types

type Field

type Field struct {
	Name             string         // Имя поля
	Type             string         // Тип поля (text, email, password и т.д.)
	Value            interface{}    // Значение поля
	Error            string         // Ошибка валидации
	Hidden           bool           // Скрытое поле
	CustomValidation ValidationFunc // Кастомная функция валидации
}

Field представляет поля формы.

func NewField

func NewField(name, fieldType string) *Field

NewField создает новое поле.

type FieldResponse

type FieldResponse struct {
	Name   string
	Type   string
	Value  string
	Error  string
	Hidden bool
}

FieldResponse представляет упрощенную версию Field для ответа.

type Form

type Form struct {
	Fields     []*Field          // Поля формы
	CSRF       string            // CSRF-токен
	Errs       map[string]string // Ошибки валидации
	Method     string            // Метод HTTP (GET, POST и т.д.)
	FormID     string            // Идентификатор формы
	RenderHTML bool              // Флаг для рендеринга HTML
}

Form представляет HTML-форму.

func NewForm

func NewForm(model interface{}, method, formID string) *Form

NewForm создает новую форму на основе модели.

func (*Form) AddCSRFToken

func (f *Form) AddCSRFToken(token string)

AddCSRFToken добавляет CSRF-токен в форму.

func (*Form) AddCustomValidation

func (f *Form) AddCustomValidation(fieldName string, fn ValidationFunc)

AddCustomValidation метод для добавления кастомных правил валидации

func (*Form) AddError

func (f *Form) AddError(fieldName, errorMessage string)

AddError добавляет ошибку для указанного поля.

func (*Form) AddField

func (f *Form) AddField(field *Field)

AddField добавляет поле в форму.

func (*Form) Bind

func (f *Form) Bind(r *http.Request) error

Bind привязывает данные из запроса к форме.

func (*Form) Errors

func (f *Form) Errors() []string

Errors возвращает список ошибок формы.

func (*Form) GetErrors

func (f *Form) GetErrors() map[string]string

GetErrors возвращает мапу ошибок.

func (*Form) ToHTMLResponse

func (f *Form) ToHTMLResponse() FormResponse

ToHTMLResponse возвращает данные для рендеринга HTML.

func (*Form) ToJSONResponse

func (f *Form) ToJSONResponse() map[string]interface{}

ToJSONResponse возвращает данные формы в формате JSON.

func (*Form) ToResponse

func (f *Form) ToResponse() interface{}

ToResponse возвращает данные формы в зависимости от флага RenderHTML.

func (*Form) Validate

func (f *Form) Validate(model interface{}) error

Validate проверяет данные формы.

type FormResponse

type FormResponse struct {
	Fields []FieldResponse // Упрощенная версия полей формы
	Errs   map[string]string
	CSRF   string
	Method string
	FormID string
}

FormResponse представляет данные формы для ответа.

type TemplateRenderer

type TemplateRenderer struct {
	Templates       *template.Template
	DefaultTemplate string // Имя шаблона по умолчанию
}

TemplateRenderer содержит шаблоны для рендеринга

func NewTemplateRenderer

func NewTemplateRenderer(templateDir string, defaultTemplate string) (*TemplateRenderer, error)

NewTemplateRenderer инициализирует и возвращает новый рендерер шаблонов

func (*TemplateRenderer) Render

func (tr *TemplateRenderer) Render(w io.Writer, name string, data interface{}, c echo.Context) error

Render выполняет рендеринг шаблона

type ValidationFunc

type ValidationFunc func(value string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL