form

package
v0.0.0-...-ff5ac03 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

AllType 所有表单字段类型的列表 用于类型验证和遍历

Functions

func DefaultHTML

func DefaultHTML(value string) template.HTML

DefaultHTML 生成默认的 HTML 包装器 用于包装表单字段的 HTML 内容

参数:

  • value: 要包装的 HTML 内容

返回值:

  • template.HTML: 包装后的 HTML

func GetFormTypeFromFieldType

func GetFormTypeFromFieldType(typeName db.DatabaseType, fieldName string) string

GetFormTypeFromFieldType 根据数据库字段类型获取表单类型 用于自动推断表单字段的类型

参数:

  • typeName: 数据库字段类型
  • fieldName: 字段名称

返回值:

  • string: 表单类型名称

使用示例:

// 根据数据库字段类型自动推断表单类型
GetFormTypeFromFieldType(db.Int, "age")

func HiddenInputHTML

func HiddenInputHTML(field, value string) template.HTML

HiddenInputHTML 生成隐藏输入框的 HTML 用于在表单中存储隐藏数据

参数:

  • field: 字段名称
  • value: 字段值

返回值:

  • template.HTML: 隐藏输入框的 HTML

Types

type Layout

type Layout uint8

Layout 表单布局类型枚举 定义了表单字段的布局方式

const (
	LayoutDefault  Layout = iota // 默认布局
	LayoutTwoCol                 // 两列布局
	LayoutThreeCol               // 三列布局
	LayoutFourCol                // 四列布局
	LayoutFiveCol                // 五列布局
	LayoutSixCol                 // 六列布局
	LayoutFlow                   // 流式布局
	LayoutTab                    // 标签页布局
	LayoutFilter                 // 过滤器布局
)

func GetLayoutFromString

func GetLayoutFromString(s string) Layout

GetLayoutFromString 从字符串获取布局类型 用于从配置文件或数据库中读取布局配置

参数:

  • s: 布局类型的字符串表示

返回值:

  • Layout: 对应的布局类型,无效时返回默认布局

func (Layout) Col

func (l Layout) Col() int

Col 返回布局的列数 用于确定表单字段在网格系统中的列数

返回值:

  • int: 列数(2、3、4、5、6),默认返回 0

func (Layout) Default

func (l Layout) Default() bool

Default 判断是否为默认布局

返回值:

  • bool: 如果是默认布局返回 true,否则返回 false

func (Layout) Filter

func (l Layout) Filter() bool

Filter 判断是否为过滤器布局 过滤器布局用于搜索和筛选表单

返回值:

  • bool: 如果是过滤器布局返回 true,否则返回 false

func (Layout) Flow

func (l Layout) Flow() bool

Flow 判断是否为流式布局 流式布局使表单字段自动换行

返回值:

  • bool: 如果是流式布局返回 true,否则返回 false

func (Layout) String

func (l Layout) String() string

String 返回布局类型的字符串表示 用于日志记录和调试

返回值:

  • string: 布局类型的名称

type Type

type Type uint8

Type 表单字段类型枚举 定义了所有支持的表单字段类型 使用 uint8 类型,节省内存空间

const (
	Default         Type = iota // 默认类型
	Text                        // 文本输入框
	SelectSingle                // 单选下拉框
	Select                      // 多选下拉框
	IconPicker                  // 图标选择器
	SelectBox                   // 选择框(带搜索)
	File                        // 文件上传
	Multifile                   // 多文件上传
	Password                    // 密码输入框
	RichText                    // 富文本编辑器
	Datetime                    // 日期时间选择器
	DatetimeRange               // 日期时间范围选择器
	Radio                       // 单选按钮组
	Checkbox                    // 复选框组
	CheckboxStacked             // 堆叠式复选框
	CheckboxSingle              // 单个复选框
	Email                       // 邮箱输入框
	Date                        // 日期选择器
	DateRange                   // 日期范围选择器
	Url                         // URL 输入框
	Ip                          // IP 地址输入框
	Color                       // 颜色选择器
	Array                       // 数组输入框
	Currency                    // 货币输入框
	Rate                        // 评分组件
	Number                      // 数字输入框
	Table                       // 表格组件
	NumberRange                 // 数字范围输入框
	TextArea                    // 多行文本输入框
	Custom                      // 自定义组件
	Switch                      // 开关组件
	Code                        // 代码编辑器
	Slider                      // 滑块组件
)

func CheckType

func CheckType(t, def Type) Type

CheckType 检查表单类型是否有效 如果类型有效,返回该类型;否则返回默认类型

参数:

  • t: 要检查的表单类型
  • def: 默认类型,当 t 无效时返回

返回值:

  • Type: 有效的表单类型

使用示例:

// 检查类型是否有效,无效则返回 Text 类型
CheckType(unknownType, Text)

func (Type) FixOptions

func (t Type) FixOptions(m map[string]interface{}) map[string]interface{}

FixOptions 修复表单类型的默认选项 为特定类型的表单字段设置默认配置

参数:

  • m: 选项映射

返回值:

  • map[string]interface{}: 修复后的选项映射

使用示例:

// 为滑块字段设置默认选项
Slider.FixOptions(options)

func (Type) GetDefaultOptions

func (t Type) GetDefaultOptions(field string) (map[string]interface{}, map[string]interface{}, template.JS)

GetDefaultOptions 获取表单类型的默认选项 为不同类型的表单字段生成默认配置选项

参数:

  • field: 字段名称

返回值:

  • map[string]interface{}: 主选项映射
  • map[string]interface{}: 次选项映射(用于范围字段)
  • template.JS: JavaScript 配置代码

func (Type) IsArray

func (t Type) IsArray() bool

IsArray 判断是否为数组字段

返回值:

  • bool: 如果是数组字段返回 true,否则返回 false

func (Type) IsCode

func (t Type) IsCode() bool

IsCode 判断是否为代码编辑器字段

返回值:

  • bool: 如果是代码编辑器字段返回 true,否则返回 false

func (Type) IsCustom

func (t Type) IsCustom() bool

IsCustom 判断是否为自定义字段

返回值:

  • bool: 如果是自定义字段返回 true,否则返回 false

func (Type) IsDate

func (t Type) IsDate() bool

IsDate 判断是否为日期字段

返回值:

  • bool: 如果是日期字段返回 true,否则返回 false

func (Type) IsDateRange

func (t Type) IsDateRange() bool

IsDateRange 判断是否为日期范围字段

返回值:

  • bool: 如果是日期范围字段返回 true,否则返回 false

func (Type) IsDateTime

func (t Type) IsDateTime() bool

IsDateTime 判断是否为日期时间字段

返回值:

  • bool: 如果是日期时间字段返回 true,否则返回 false

func (Type) IsDateTimeRange

func (t Type) IsDateTimeRange() bool

IsDateTimeRange 判断是否为日期时间范围字段

返回值:

  • bool: 如果是日期时间范围字段返回 true,否则返回 false

func (Type) IsEditor

func (t Type) IsEditor() bool

IsEditor 判断是否为编辑器字段 编辑器字段包括代码编辑器、富文本编辑器和多行文本输入框

返回值:

  • bool: 如果是编辑器字段返回 true,否则返回 false

func (Type) IsFile

func (t Type) IsFile() bool

IsFile 判断是否为文件上传字段 包括单文件和多文件上传

返回值:

  • bool: 如果是文件上传字段返回 true,否则返回 false

func (Type) IsMultiFile

func (t Type) IsMultiFile() bool

IsMultiFile 判断是否为多文件上传字段

返回值:

  • bool: 如果是多文件上传字段返回 true,否则返回 false

func (Type) IsMultiSelect

func (t Type) IsMultiSelect() bool

IsMultiSelect 判断是否为多选字段 多选字段可以选择多个选项

返回值:

  • bool: 如果是多选字段返回 true,否则返回 false

func (Type) IsRange

func (t Type) IsRange() bool

IsRange 判断是否为范围字段 范围字段包括日期时间范围和数字范围

返回值:

  • bool: 如果是范围字段返回 true,否则返回 false

func (Type) IsRichText

func (t Type) IsRichText() bool

IsRichText 判断是否为富文本编辑器字段

返回值:

  • bool: 如果是富文本编辑器字段返回 true,否则返回 false

func (Type) IsSelect

func (t Type) IsSelect() bool

IsSelect 判断是否为选择类字段 选择类字段包括下拉框、单选按钮、复选框等

返回值:

  • bool: 如果是选择类字段返回 true,否则返回 false

func (Type) IsSingleSelect

func (t Type) IsSingleSelect() bool

IsSingleSelect 判断是否为单选字段 单选字段只能选择一个选项

返回值:

  • bool: 如果是单选字段返回 true,否则返回 false

func (Type) IsSlider

func (t Type) IsSlider() bool

IsSlider 判断是否为滑块字段

返回值:

  • bool: 如果是滑块字段返回 true,否则返回 false

func (Type) IsTable

func (t Type) IsTable() bool

IsTable 判断是否为表格字段

返回值:

  • bool: 如果是表格字段返回 true,否则返回 false

func (Type) IsTextarea

func (t Type) IsTextarea() bool

IsTextarea 判断是否为多行文本输入框字段

返回值:

  • bool: 如果是多行文本输入框字段返回 true,否则返回 false

func (Type) Name

func (t Type) Name() string

Name 返回表单类型的名称 用于日志记录和调试

返回值:

  • string: 表单类型的名称

func (Type) SelectedLabel

func (t Type) SelectedLabel() []template.HTML

SelectedLabel 返回选中状态的 HTML 属性 用于生成表单字段的选中状态属性

参数:

  • field: 字段名称

返回值:

  • []template.HTML: 选中状态的 HTML 属性数组
  • 第一个元素:选中属性("selected" 或 "checked")
  • 第二个元素:空字符串

func (Type) String

func (t Type) String() string

String 返回表单类型的字符串表示 用于生成 HTML 和 JavaScript 代码

返回值:

  • string: 表单类型的标识符(小写,使用下划线分隔)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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