定义模型

// 模型定义配置
testModel := model.Define{
		Name: "测试模型",// 模型名称
		Options: model.Options{
			Timestamps: true, // 是否内置数据时间戳
			CryptID: false, // 是否加密主键 ID
			CryptLen: 12, // 加密后的主键 ID 最短长度
			Salt: "xxx", // 加密主键 ID 需要的盐
		},
		Fields: map[string]*model.Field{ // 字段配置
			"label": {
				Type:  schema.String, // 字段类型
				Size:  20,  // 字段限制长度
				Label: "规则名称", // 字段名称
				Default:  false, // 默认值
				Comment:  "如果不为空,必须唯一", // 字段注释
				Nullable: true, // 是否可以为 null
				Validations: []model.Validations{ // 验证规则
					{
						Method:  "regex", // 验证方法,具体参考“内置验证”
						Args:    "^[a-zA-Z0-9_]+$", // 验证参数
						Message: "规则名不能包含特殊符号", // 验证失败显示信息
					},
				},
				Options: model.FieldOption{}, // 更多字段选项
			},
		},
		Values: []ztype.Map{ // 初始化数据
			{
				model.IDKey: 1, // 如果存在 ID ,则只在首次初始化时候添加入库
				"label":     "全局访问"
			},
		},
	}

内置验证