作者 唐旭辉

添加

package protocol
import "sort"
//输入框类型
const (
inputTypeCheck string = "check-box" //多选宽
inputTypeText string = "text" //单行文本宽
InputTypeRedio string = "redio" //单选框
)
//InputElement 自定义表单项
type InputElement struct {
Sort int `json:"sort"` //排序
Lable string `json:"lable"` //标题
InputType string `json:"input_type"` //输入类型
ValueList string `json:"value_list"` //输入候选值
Required bool `json:"required"` //是否必填
Placeholder string `json:"Placeholder"` //帮助用户填写输入字段的提示
Disable bool `json:"disable ` //"显示隐藏",
CurrentValue string `json:"current_value"` //"当前填写的值"
}
//自定义表单
type CustomForm []InputElement
var (
_ sort.Interface = new(CustomForm)
)
//实现排序接口
func (a CustomForm) Len() int { return len(a) }
func (a CustomForm) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
func (a CustomForm) Less(i, j int) bool {
return a[i].Sort < a[j].Sort
}
//IValidateInput 自定义输入项校验接口
type IValidateInput interface {
ValidateInput() error //校验当前输入值
ValidateConfig() error //校验自定义的输入项设置
}
type ValidateInputText struct {
InputElement
}
var (
_ IValidateInput = ValidateInputText{}
)
func (input ValidateInputText) ValidateInput() error {
return nil
}
func (input ValidateInputText) ValidateConfig() error {
return nil
}
//ValidateInputRedio 单选项校验
type ValidateInputRedio struct {
InputElement
}
var (
_ IValidateInput = ValidateInputRedio{}
)
func (input ValidateInputRedio) ValidateInput() error {
return nil
}
func (input ValidateInputRedio) ValidateConfig() error {
return nil
}
... ...