goProject/trunk/goutil/validationUtil/validationUtil.go

88 lines
1.6 KiB
Go
Raw Normal View History

2025-01-06 16:01:02 +08:00
package validationUtil
import (
"errors"
"goutil/stringUtil"
)
const (
MaxInt32 int = 0x7fffffff
MinInt32 int = -0x7fffffff
)
// 检查数值范围
// errList:错误列表
// val:待检查的值
// min:最小值
// max:最大值
// msg:错误提示
// 返回值:
// bool:是否在范围内
func CheckIntRange(errList *([]error), val int, min int, max int, msg string) bool {
if val < min || val > max {
if errList != nil {
*errList = append(*errList, errors.New(msg))
}
return true
}
return false
}
// 检查数值范围
// errList:错误列表
// val:待检查的值
// min:最小值
// max:最大值
// msg:错误提示
// 返回值:
// bool:是否在范围内
func CheckFloatRange(errList *([]error), val float64, min float64, max float64, msg string) bool {
if val < min || val > max {
if errList != nil {
*errList = append(*errList, errors.New(msg))
}
return true
}
return false
}
// 检查字符串是否为空
// errList:错误列表
// val:待检查的值
// msg:错误提示
// 返回值:
// bool:是否在范围内
func Require(errList *([]error), val string, msg string) bool {
if stringUtil.IsEmpty(val) {
if errList != nil {
*errList = append(*errList, errors.New(msg))
}
return true
}
return false
}
// 检查数据是否存在重复项(此函数效率较低,如有效率要求请不要调用此函数)
func IsDistinct(count int, isEqualFunc func(i, j int) bool) bool {
for i := 0; i < count; i++ {
for j := 0; j < count; j++ {
if i == j {
continue
}
if isEqualFunc(i, j) {
return false
}
}
}
return true
}