38 lines
589 B
Go
38 lines
589 B
Go
package validator
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
"github.com/go-playground/validator/v10"
|
|
)
|
|
|
|
var (
|
|
sortMatch = regexp.MustCompile("^[a-zA-z0-9_,]+")
|
|
)
|
|
|
|
func tableName(fl validator.FieldLevel) bool {
|
|
value := fl.Field().String()
|
|
if value == "" {
|
|
return false
|
|
}
|
|
|
|
if isOk, _ := regexp.MatchString("^[a-zA-Z]$|^[a-zA-Z][a-zA-Z0-9_]*[a-zA-Z0-9]$", value); isOk {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
func sortVerify(fl validator.FieldLevel) bool {
|
|
value := fl.Field().String()
|
|
if value == "" {
|
|
return false
|
|
}
|
|
|
|
if isOk := sortMatch.MatchString(value); isOk {
|
|
return true
|
|
}
|
|
|
|
return false
|
|
}
|