/
smalloff
/
paramvalidator
Обзор
Документация
Войти
/
smalloff
/
paramvalidator
Код
Задачи
Вики
Пакеты
0
Релизы
1
Аналитика
Безопасность
v1.0.5
example/main.go
51 строка
1 KB
smalloff
example
25 сен 2025, 17:47
25 сен 2025, 17:47
36c0f04
Код
Авторство
О чём код?
package main import ( "fmt" "github.com/smalloff/paramvalidator" ) func main() { // Define validation rules rules := "/products?page=[1-10]&category=[electronics,books]" // Create validator pv, err := paramvalidator.NewParamValidator(rules) if err != nil { fmt.Println("Error:", err) return } // Validate URL parameters isValid := pv.ValidateURL("/products?page=5&category=electronics") fmt.Println("URL valid:", isValid) // true // Normalize invalid URL (removes invalid params) normalized := pv.NormalizeURL("/products?page=15&category=electronics&invalid=param") fmt.Println("Normalized URL:", normalized) // /products?category=electronics // Rule with callback parameter [?] rules = "/api?auth=[?]&page=[1-10]" // Create validator with callback function pv, err = paramvalidator.NewParamValidator(rules, func(key string, value string) bool { if key == "auth" { // Custom validation logic return value == "secret123" } return false }) if err != nil { fmt.Println("Error:", err) return } // Validate with callback valid1 := pv.ValidateURL("/api?auth=secret123&page=5") fmt.Println("Valid auth:", valid1) // true valid2 := pv.ValidateURL("/api?auth=wrong&page=5") fmt.Println("Invalid auth:", valid2) // false }