|
@@ -3,6 +3,7 @@ package logic
|
|
import (
|
|
import (
|
|
"encoding/json"
|
|
"encoding/json"
|
|
"os"
|
|
"os"
|
|
|
|
+ "regexp"
|
|
"sort"
|
|
"sort"
|
|
|
|
|
|
validator "github.com/go-playground/validator/v10"
|
|
validator "github.com/go-playground/validator/v10"
|
|
@@ -203,6 +204,11 @@ func ValidateDNSCreate(entry models.DNSEntry) error {
|
|
|
|
|
|
v := validator.New()
|
|
v := validator.New()
|
|
|
|
|
|
|
|
+ _ = v.RegisterValidation("whitespace", func(f1 validator.FieldLevel) bool {
|
|
|
|
+ match, _ := regexp.MatchString(`\s`, entry.Name)
|
|
|
|
+ return !match
|
|
|
|
+ })
|
|
|
|
+
|
|
_ = v.RegisterValidation("name_unique", func(fl validator.FieldLevel) bool {
|
|
_ = v.RegisterValidation("name_unique", func(fl validator.FieldLevel) bool {
|
|
num, err := GetDNSEntryNum(entry.Name, entry.Network)
|
|
num, err := GetDNSEntryNum(entry.Name, entry.Network)
|
|
return err == nil && num == 0
|
|
return err == nil && num == 0
|
|
@@ -227,6 +233,11 @@ func ValidateDNSUpdate(change models.DNSEntry, entry models.DNSEntry) error {
|
|
|
|
|
|
v := validator.New()
|
|
v := validator.New()
|
|
|
|
|
|
|
|
+ _ = v.RegisterValidation("whitespace", func(f1 validator.FieldLevel) bool {
|
|
|
|
+ match, _ := regexp.MatchString(`\s`, entry.Name)
|
|
|
|
+ return !match
|
|
|
|
+ })
|
|
|
|
+
|
|
_ = v.RegisterValidation("name_unique", func(fl validator.FieldLevel) bool {
|
|
_ = v.RegisterValidation("name_unique", func(fl validator.FieldLevel) bool {
|
|
//if name & net not changing name we are good
|
|
//if name & net not changing name we are good
|
|
if change.Name == entry.Name && change.Network == entry.Network {
|
|
if change.Name == entry.Name && change.Network == entry.Network {
|