增加默认表达式生成方法,同时支持自定义表达式生成方法,覆盖默认行为
This commit is contained in:
parent
978e52089c
commit
064f5e2c5b
35
v10/default.go
Normal file
35
v10/default.go
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Package v10 ...
|
||||||
|
//
|
||||||
|
// Description : v10 ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2025-01-24 10:32
|
||||||
|
package v10
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"git.zhangdeman.cn/zhangdeman/consts"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// DefaultValidateRuleGenerateFunc 验证规则生成的默认方法
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 10:33 2025/1/24
|
||||||
|
func DefaultValidateRuleGenerateFunc(validateRule consts.ValidatorRule, paramList ...any) (express string, err error) {
|
||||||
|
ruleConfig := validateRule.Config()
|
||||||
|
if len(ruleConfig.ValidatorRule.String()) == 0 {
|
||||||
|
return "", errors.New("validate rule is empty")
|
||||||
|
}
|
||||||
|
if len(paramList) == 0 {
|
||||||
|
return ruleConfig.ValidatorRule.String(), nil
|
||||||
|
}
|
||||||
|
paramStrList := make([]string, 0)
|
||||||
|
for _, param := range paramList {
|
||||||
|
paramStrList = append(paramStrList, fmt.Sprintf("%v", param))
|
||||||
|
}
|
||||||
|
return ruleConfig.ValidatorRule.String() + "=" + strings.Join(paramStrList, " "), nil
|
||||||
|
}
|
25
v10/init.go
Normal file
25
v10/init.go
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Package v10 ...
|
||||||
|
//
|
||||||
|
// Description : v10 ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2025-01-24 11:09
|
||||||
|
package v10
|
||||||
|
|
||||||
|
import "git.zhangdeman.cn/gateway/validator/v10/abstract"
|
||||||
|
|
||||||
|
// validatorRuleExpressGenerateFunc 验证规则表达式生成方法
|
||||||
|
var validatorRuleExpressGenerateFunc abstract.IValidateRuleGenerateFunc = DefaultValidateRuleGenerateFunc
|
||||||
|
|
||||||
|
// SetValidatorRuleExpressGenerateFunc 使用自定义的验证规则表达式函数覆盖默认的函数
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 11:11 2025/1/24
|
||||||
|
func SetValidatorRuleExpressGenerateFunc(generateFunc abstract.IValidateRuleGenerateFunc) {
|
||||||
|
if nil == generateFunc {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
validatorRuleExpressGenerateFunc = generateFunc
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user