package validator import "lone-services/pkg/validate" type GroupItemsValidator struct { Page uint32 `validate:"omitempty,min=1"` PageSize uint32 `validate:"omitempty,min=1,max=100"` Name string `validate:"omitempty,max=255"` } func (p GroupItemsValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Page.min": "页码最小为1", "PageSize.min": "每页数量最小为1", "PageSize.max": "每页数量最大为100", "Name.max": "名称长度不能超过255", } } type GroupCreateValidator struct { Name string `validate:"required,max=255"` } func (p GroupCreateValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Name.required": "分组名称不能为空", "Name.max": "分组名称长度不能超过255", } } type NamesValidator struct { Type uint32 `validate:"omitempty,oneof=1 2 3"` Name string `validate:"omitempty,max=255"` Level uint32 `validate:"omitempty,oneof=0 1"` } func (p NamesValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Type.oneof": "类型不对", "Name.max": "名称长度不能超过255", "Level.oneof": "级别不对", } } type CreateValidator struct { Mobile string `validate:"required,max=20"` Name string `validate:"required,max=256"` IdCardFront string `validate:"required,max=255"` IdCardBack string `validate:"required,max=255"` BusinessLicense string `validate:"omitempty,max=255"` Password string `validate:"required,min=6"` Account string `validate:"omitempty,max=255"` Sex uint32 `validate:"omitempty,oneof=1 2 3"` GroupId int64 `validate:"required,gt=0"` BirthDate string `validate:"omitempty,max=12"` SaleId int64 `validate:"omitempty,gte=0"` Type uint32 `validate:"required,oneof=1 2 3"` TerritoryId int64 `validate:"required,gt=0"` ProvinceId int64 `validate:"required,gt=0"` CityId int64 `validate:"required,gt=0"` DistrictId int64 `validate:"required,gt=0"` Address string `validate:"required,max=255"` } func (p CreateValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Mobile.required": "手机号不能为空", "Name.required": "姓名不能为空", "IdCardFront.required": "身份证正面不能为空", "IdCardFront.max": "身份证正面地址过长", "IdCardBack.required": "身份证反面不能为空", "IdCardBack.max": "身份证反面地址过长", "BusinessLicense.max": "营业执照地址过长", "Password.required": "密码不能为空", "Password.min": "密码长度不能小于6位", "GroupId.required": "请选择销售分组", "GroupId.gt": "请选择销售分组", "Type.required": "请选择类型", "Type.oneof": "类型不对", "TerritoryId.required": "请选择地域", "TerritoryId.gt": "请选择地域", "ProvinceId.required": "请选择省份", "ProvinceId.gt": "请选择省份", "CityId.required": "请选择城市", "CityId.gt": "请选择城市", "DistrictId.required": "请选择区县", "DistrictId.gt": "请选择区县", "Address.required": "详细地址不能为空", } } type EditValidator struct { Id int64 `validate:"required,gt=0"` Mobile string `validate:"required,max=20"` Name string `validate:"required,max=256"` IdCardFront string `validate:"required,max=255"` IdCardBack string `validate:"required,max=255"` BusinessLicense string `validate:"omitempty,max=255"` Account string `validate:"omitempty,max=255"` Sex uint32 `validate:"omitempty,oneof=1 2 3"` GroupId int64 `validate:"required,gt=0"` BirthDate string `validate:"omitempty,max=12"` SaleId int64 `validate:"omitempty,gte=0"` Type uint32 `validate:"required,oneof=1 2 3"` TerritoryId int64 `validate:"required,gt=0"` ProvinceId int64 `validate:"required,gt=0"` CityId int64 `validate:"required,gt=0"` DistrictId int64 `validate:"required,gt=0"` Address string `validate:"required,max=255"` } func (p EditValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Id.required": "ID不能为空", "Id.gt": "ID必须大于0", "Mobile.required": "手机号不能为空", "Name.required": "姓名不能为空", "IdCardFront.required": "身份证正面不能为空", "IdCardFront.max": "身份证正面地址过长", "IdCardBack.required": "身份证反面不能为空", "IdCardBack.max": "身份证反面地址过长", "BusinessLicense.max": "营业执照地址过长", "GroupId.required": "请选择销售分组", "GroupId.gt": "请选择销售分组", "Type.required": "请选择类型", "Type.oneof": "类型不对", "TerritoryId.required": "请选择地域", "TerritoryId.gt": "请选择地域", "ProvinceId.required": "请选择省份", "ProvinceId.gt": "请选择省份", "CityId.required": "请选择城市", "CityId.gt": "请选择城市", "DistrictId.required": "请选择区县", "DistrictId.gt": "请选择区县", "Address.required": "详细地址不能为空", } } type InfoValidator struct { Id int64 `validate:"required,gt=0"` } func (p InfoValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Id.required": "ID不能为空", "Id.gt": "ID必须大于0", } } type InfoByUserIdValidator struct { UserId int64 `validate:"required,gt=0"` } func (p InfoByUserIdValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "UserId.required": "用户ID不能为空", "UserId.gt": "用户ID必须大于0", } } type ItemsValidator struct { Name string `validate:"omitempty,max=256"` Page uint32 `validate:"omitempty,min=1"` PageSize uint32 `validate:"omitempty,min=1,max=100"` SaleId int64 `validate:"omitempty,gte=0"` Type uint32 `validate:"omitempty,oneof=1 2 3"` Status uint32 `validate:"omitempty,oneof=1 2"` } func (p ItemsValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Page.min": "页码最小为1", "PageSize.min": "每页数量最小为1", "PageSize.max": "每页数量最大为100", "Type.oneof": "类型不对", "Status.oneof": "状态不对", } } type StatusValidator struct { Id int64 `validate:"required,gt=0"` Status uint32 `validate:"required,oneof=1 2"` Reason string `validate:"required_if=Status 2,max=255"` } func (p StatusValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Id.required": "ID不能为空", "Id.gt": "ID必须大于0", "Status.required": "状态不能为空", "Status.oneof": "状态不对,仅支持1开启或2禁用", "Reason.required_if": "禁用时理由不能为空", "Reason.max": "理由长度不能超过255", } } type NamesByIdsValidator struct { Ids []int64 `validate:"required,min=1,dive,gt=0"` } func (p NamesByIdsValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Ids.required": "ids不能为空", "Ids.min": "ids不能为空", "Ids.dive": "id无效", "Ids.gt": "id必须大于0", } } type ApiSalesCreateValidator struct { Mobile string `form:"mobile" json:"mobile" validate:"required"` Name string `form:"name" json:"name" validate:"required"` District string `form:"district" json:"district" validate:"required"` Address string `form:"address" json:"address" validate:"required"` Account string `form:"account" json:"account"` Credentials string `form:"credentials" json:"credentials" validate:"required"` Sex int32 `form:"sex" json:"sex" validate:"oneof=1 2 3"` BirthDate string `form:"birth_date" json:"birth_date"` Type int32 `form:"type" json:"type" validate:"oneof=3 4"` } // GetMessage 提示消息 func (p ApiSalesCreateValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ validate.FieldTypeIn: validate.FieldTypeInValue, "Name.required": "名称不能为空", "Mobile.required": "手机号不能为空", "District.required": "地址不能为空", "Address.required": "详细地址不能为空", "Credentials.required": "证明材料不能为空", "Sex.oneof": "性别不对", } } type ApiSalesItemsValidator struct { Name string `form:"name" json:"name"` Page int64 `form:"page" json:"page"` Size int64 `form:"size" json:"size"` Type int32 `form:"type" json:"type"` } // GetMessage 提示消息 func (p ApiSalesItemsValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{} } type ApiCreateValidator struct { Mobile string `validate:"required,max=20"` Name string `validate:"required,max=256"` IdCardFront string `validate:"required,max=255"` IdCardBack string `validate:"required,max=255"` BusinessLicense string `validate:"omitempty,max=255"` Account string `validate:"omitempty,max=255"` Sex int32 `validate:"omitempty,oneof=1 2 3"` BirthDate string `validate:"omitempty,max=12"` SaleId int64 `validate:"omitempty,gte=0"` Type int32 `validate:"required,oneof=1 2 3"` ProvinceId int64 `validate:"required,gt=0"` CityId int64 `validate:"required,gt=0"` DistrictId int64 `validate:"required,gt=0"` Address string `validate:"required,max=255"` } func (p ApiCreateValidator) GetMessage() validate.ValidatorMessages { return validate.ValidatorMessages{ "Mobile.required": "手机号不能为空", "Name.required": "姓名不能为空", "IdCardFront.required": "身份证正面不能为空", "IdCardFront.max": "身份证正面地址过长", "IdCardBack.required": "身份证反面不能为空", "IdCardBack.max": "身份证反面地址过长", "BusinessLicense.max": "营业执照地址过长", "Type.required": "请选择类型", "Type.oneof": "类型不对", "ProvinceId.required": "请选择省份", "ProvinceId.gt": "请选择省份", "CityId.required": "请选择城市", "CityId.gt": "请选择城市", "DistrictId.required": "请选择区县", "DistrictId.gt": "请选择区县", "Address.required": "详细地址不能为空", } }