Documentation ¶
Index ¶
- func IsAny(value string) error
- func IsBool(value string) error
- func IsCompressionAlgorithm(value string) error
- func IsDeviceID(value string) error
- func IsInt64(value string) error
- func IsNetwork(value string) error
- func IsNetworkAddress(value string) error
- func IsNetworkAddressCIDR(value string) error
- func IsNetworkAddressCIDRV4(value string) error
- func IsNetworkAddressCIDRV6(value string) error
- func IsNetworkAddressList(value string) error
- func IsNetworkAddressV4(value string) error
- func IsNetworkAddressV4List(value string) error
- func IsNetworkAddressV6(value string) error
- func IsNetworkAddressV6List(value string) error
- func IsNetworkList(value string) error
- func IsNetworkMAC(value string) error
- func IsNetworkMTU(value string) error
- func IsNetworkPort(value string) error
- func IsNetworkPortRange(value string) error
- func IsNetworkRange(value string) error
- func IsNetworkRangeV4(value string) error
- func IsNetworkRangeV4List(value string) error
- func IsNetworkRangeV6(value string) error
- func IsNetworkRangeV6List(value string) error
- func IsNetworkV4(value string) error
- func IsNetworkV4List(value string) error
- func IsNetworkV6(value string) error
- func IsNetworkV6List(value string) error
- func IsNetworkVLAN(value string) error
- func IsNotEmpty(value string) error
- func IsOneOf(value string, valid []string) error
- func IsPCIAddress(value string) error
- func IsPriority(value string) error
- func IsSize(value string) error
- func IsURLSegmentSafe(value string) error
- func IsUUID(value string) error
- func IsUint32(value string) error
- func IsUint8(value string) error
- func Optional(validators ...func(value string) error) func(value string) error
- func Required(validators ...func(value string) error) func(value string) error
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsCompressionAlgorithm ¶
IsCompressionAlgorithm validates whether a value is a valid compression algorithm and is available on the system.
func IsDeviceID ¶
IsDeviceID validates string is four lowercase hex characters suitable as Vendor or Device ID.
func IsNetworkAddress ¶
IsNetworkAddress validates an IP (v4 or v6) address string.
func IsNetworkAddressCIDR ¶
IsNetworkAddressCIDR validates an IP addresss string in CIDR format.
func IsNetworkAddressCIDRV4 ¶
IsNetworkAddressCIDRV4 validates an IPv4 addresss string in CIDR format.
func IsNetworkAddressCIDRV6 ¶
IsNetworkAddressCIDRV6 validates an IPv6 addresss string in CIDR format.
func IsNetworkAddressList ¶
IsNetworkAddressList validates a comma delimited list of IPv4 or IPv6 addresses.
func IsNetworkAddressV4 ¶
IsNetworkAddressV4 validates an IPv4 addresss string.
func IsNetworkAddressV4List ¶
IsNetworkAddressV4List validates a comma delimited list of IPv4 addresses.
func IsNetworkAddressV6 ¶
IsNetworkAddressV6 validates an IPv6 addresss string.
func IsNetworkAddressV6List ¶
IsNetworkAddressV6List validates a comma delimited list of IPv6 addresses.
func IsNetworkList ¶
IsNetworkList validates a comma delimited list of IP network CIDR strings.
func IsNetworkMAC ¶
IsNetworkMAC validates an Ethernet MAC address. e.g. "00:00:5e:00:53:01".
Example ¶
package main import ( "fmt" "github.com/lxc/lxd/shared/validate" ) func main() { tests := []string{ "00:00:5e:00:53:01", "02:00:5e:10:00:00:00:01", // too long "00-00-5e-00-53-01", // invalid delimiter "0000.5e00.5301", // invalid delimiter "invalid", "", } for _, v := range tests { err := validate.IsNetworkMAC(v) fmt.Printf("%s, %t\n", v, err == nil) } }
Output: 00:00:5e:00:53:01, true 02:00:5e:10:00:00:00:01, false 00-00-5e-00-53-01, false 0000.5e00.5301, false invalid, false , false
func IsNetworkMTU ¶
IsNetworkMTU validates MTU number >= 1280 and <= 16384. Anything below 68 and the kernel doesn't allow IPv4, anything below 1280 and the kernel doesn't allow IPv6. So require an IPv6-compatible MTU as the low value and cap at the max ethernet jumbo frame size.
func IsNetworkPort ¶
IsNetworkPort validates an IP port number >= 0 and <= 65535.
func IsNetworkPortRange ¶
IsNetworkPortRange validates an IP port range in the format "start-end".
func IsNetworkRange ¶
IsNetworkRange validates an IP range in the format "start-end".
func IsNetworkRangeV4 ¶
IsNetworkRangeV4 validates an IPv4 range in the format "start-end".
func IsNetworkRangeV4List ¶
IsNetworkRangeV4List validates a comma delimited list of IPv4 ranges.
func IsNetworkRangeV6 ¶
IsNetworkRangeV6 validates an IPv6 range in the format "start-end".
func IsNetworkRangeV6List ¶
IsNetworkRangeV6List validates a comma delimited list of IPv6 ranges.
func IsNetworkV4List ¶
IsNetworkV4List validates a comma delimited list of IPv4 CIDR strings.
func IsNetworkV6List ¶
IsNetworkV6List validates a comma delimited list of IPv6 CIDR strings.
func IsPCIAddress ¶
IsPCIAddress validates whether a value is a PCI address.
Example ¶
package main import ( "fmt" "github.com/lxc/lxd/shared/validate" ) func main() { tests := []string{ "0000:12:ab.0", // valid "0010:12:ab.0", // valid "0000:12:CD.0", // upper-case not supported "12:ab.0", // valid "12:CD.0", // upper-case not supported "0000:12:gh.0", // invalid hex "0000:12:GH.0", // invalid hex "12:gh.0", // invalid hex "12:GH.0", // invalid hex "000:12:CD.0", // wrong prefix "12.ab.0", // invalid format "", } for _, v := range tests { err := validate.IsPCIAddress(v) fmt.Printf("%s, %t\n", v, err == nil) } }
Output: 0000:12:ab.0, true 0010:12:ab.0, true 0000:12:CD.0, false 12:ab.0, true 12:CD.0, false 0000:12:gh.0, false 0000:12:GH.0, false 12:gh.0, false 12:GH.0, false 000:12:CD.0, false 12.ab.0, false , false
func IsURLSegmentSafe ¶
IsURLSegmentSafe validates whether value can be used in a URL segment.
Types ¶
This section is empty.