create_menu.go 1.2 KB
package command

import (
	"fmt"

	"github.com/beego/beego/v2/core/validation"
)

type CreateMenuCommand struct {
	// 父级id
	ParentId int64 `json:"parentId,omitempty"`
	// 菜单名称
	MenuName string `json:"menuName" valid:"Required"`
	// 菜单编码 SYSTEM_USER_EDIT / 100101 (字符编码)
	Code string `json:"code" valid:"Required"`
	// 权限编码 users:edit
	AccessCode string `json:"accessCode" valid:"Required"`
	// 菜单类型 (目录catalog、菜单menu、按钮button)
	MenuType string `json:"menuType" valid:"Required"`
	// 菜单图标
	Icon string `json:"icon,omitempty"`
	// 排序
	Sort int `json:"sort" valid:"Required"`
	// 菜单说明
	Desc string `json:"desc,omitempty"`
	// 菜单是否公开状态,[0:隐藏],[1:显示],默认显示
	IsPublish int `json:"isPublish" valid:"Required"`
}

func (createMenuCommand *CreateMenuCommand) Valid(validation *validation.Validation) {

}

func (createMenuCommand *CreateMenuCommand) ValidateCommand() error {
	valid := validation.Validation{}
	b, err := valid.Valid(createMenuCommand)
	if err != nil {
		return err
	}
	if !b {
		for _, validErr := range valid.Errors {
			return fmt.Errorf("%s  %s", validErr.Key, validErr.Message)
		}
	}
	return nil
}