validator/v10/default.go

36 lines
966 B
Go
Raw Normal View History

// Package v10 ...
//
// Description : v10 ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2025-01-24 10:32
package v10
import (
"errors"
"fmt"
2025-01-24 11:36:45 +08:00
"git.zhangdeman.cn/gateway/validator/v10/define"
"strings"
)
// DefaultValidateRuleGenerateFunc 验证规则生成的默认方法
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 10:33 2025/1/24
2025-01-24 11:36:45 +08:00
func DefaultValidateRuleGenerateFunc(validateRule define.GenerateRuleExpressConfig) (express string, err error) {
ruleConfig := validateRule.Rule.Config()
if len(ruleConfig.ValidatorRule.String()) == 0 {
return "", errors.New("validate rule is empty")
}
2025-01-24 11:36:45 +08:00
if len(validateRule.ParamList) == 0 {
return ruleConfig.ValidatorRule.String(), nil
}
paramStrList := make([]string, 0)
2025-01-24 11:36:45 +08:00
for _, param := range validateRule.ParamList {
paramStrList = append(paramStrList, fmt.Sprintf("%v", param))
}
return ruleConfig.ValidatorRule.String() + "=" + strings.Join(paramStrList, " "), nil
}