Documentation
¶
Index ¶
- func GenerateCSRFToken() (string, error)
- func UpdateModelFromForm(model interface{}, form *Form) error
- type Field
- type FieldResponse
- type Form
- func (f *Form) AddCSRFToken(token string)
- func (f *Form) AddCustomValidation(fieldName string, fn ValidationFunc)
- func (f *Form) AddError(fieldName, errorMessage string)
- func (f *Form) AddField(field *Field)
- func (f *Form) Bind(r *http.Request) error
- func (f *Form) Errors() []string
- func (f *Form) GetErrors() map[string]string
- func (f *Form) ToHTMLResponse() FormResponse
- func (f *Form) ToJSONResponse() map[string]interface{}
- func (f *Form) ToResponse() interface{}
- func (f *Form) Validate(model interface{}) error
- type FormResponse
- type TemplateRenderer
- type ValidationFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateCSRFToken ¶
generateCSRFToken генерирует CSRF-токен с использованием SHA-256. Возвращает токен в виде строки base64 или ошибку, если что-то пошло не так.
func UpdateModelFromForm ¶
UpdateModelFromForm обновляет поля модели на основе данных из формы.
Types ¶
type Field ¶
type Field struct { Name string // Имя поля Type string // Тип поля (text, email, password и т.д.) Value interface{} // Значение поля Error string // Ошибка валидации Hidden bool // Скрытое поле CustomValidation ValidationFunc // Кастомная функция валидации }
Field представляет поля формы.
type FieldResponse ¶
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 (*Form) AddCSRFToken ¶
AddCSRFToken добавляет CSRF-токен в форму.
func (*Form) AddCustomValidation ¶
func (f *Form) AddCustomValidation(fieldName string, fn ValidationFunc)
AddCustomValidation метод для добавления кастомных правил валидации
func (*Form) ToHTMLResponse ¶
func (f *Form) ToHTMLResponse() FormResponse
ToHTMLResponse возвращает данные для рендеринга HTML.
func (*Form) ToJSONResponse ¶
ToJSONResponse возвращает данные формы в формате JSON.
func (*Form) ToResponse ¶
func (f *Form) ToResponse() interface{}
ToResponse возвращает данные формы в зависимости от флага RenderHTML.
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 инициализирует и возвращает новый рендерер шаблонов