constants
const ( STRING_NUMBER = "number" STRING_ARRAY_OF_STRINGS = "array of strings" STRING_ARRAY_OF_SCHEMAS = "array of schemas" STRING_SCHEMA = "valid schema" STRING_SCHEMA_OR_ARRAY_OF_STRINGS = "schema or array of strings" STRING_PROPERTIES = "properties" STRING_DEPENDENCY = "dependency" STRING_PROPERTY = "property" STRING_UNDEFINED = "undefined" STRING_CONTEXT_ROOT = "(root)" STRING_ROOT_SCHEMA_PROPERTY = "(root)" )
Constants
const ( KEY_SCHEMA = "$schema" KEY_ID = "id" KEY_ID_NEW = "$id" KEY_REF = "$ref" KEY_TITLE = "title" KEY_DESCRIPTION = "description" KEY_TYPE = "type" KEY_ITEMS = "items" KEY_ADDITIONAL_ITEMS = "additionalItems" KEY_PROPERTIES = "properties" KEY_PATTERN_PROPERTIES = "patternProperties" KEY_ADDITIONAL_PROPERTIES = "additionalProperties" KEY_PROPERTY_NAMES = "propertyNames" KEY_DEFINITIONS = "definitions" KEY_MULTIPLE_OF = "multipleOf" KEY_MINIMUM = "minimum" KEY_MAXIMUM = "maximum" KEY_EXCLUSIVE_MINIMUM = "exclusiveMinimum" KEY_EXCLUSIVE_MAXIMUM = "exclusiveMaximum" KEY_MIN_LENGTH = "minLength" KEY_MAX_LENGTH = "maxLength" KEY_PATTERN = "pattern" KEY_FORMAT = "format" KEY_MIN_PROPERTIES = "minProperties" KEY_MAX_PROPERTIES = "maxProperties" KEY_DEPENDENCIES = "dependencies" KEY_REQUIRED = "required" KEY_MIN_ITEMS = "minItems" KEY_MAX_ITEMS = "maxItems" KEY_UNIQUE_ITEMS = "uniqueItems" KEY_CONTAINS = "contains" KEY_CONST = "const" KEY_ENUM = "enum" KEY_ONE_OF = "oneOf" KEY_ANY_OF = "anyOf" KEY_ALL_OF = "allOf" KEY_NOT = "not" KEY_IF = "if" KEY_THEN = "then" KEY_ELSE = "else" )
Type constants
const ( TYPE_ARRAY = `array` TYPE_BOOLEAN = `boolean` TYPE_INTEGER = `integer` TYPE_NUMBER = `number` TYPE_NULL = `null` TYPE_OBJECT = `object` TYPE_STRING = `string` )
var ( // Locale is the default locale to use // Library users can overwrite with their own implementation Locale locale = DefaultLocale{} // ErrorTemplateFuncs allows you to define custom template funcs for use in localization. ErrorTemplateFuncs template.FuncMap )
var ( // FormatCheckers holds the valid formatters, and is a public variable // so library users can add custom formatters FormatCheckers = FormatCheckerChain{ // contains filtered or unexported fields } )
JSON_TYPES hosts the list of type that are supported in JSON
var JSON_TYPES []string
SCHEMA_TYPES hosts the list of type that are supported in schemas
var SCHEMA_TYPES []string
AdditionalPropertyNotAllowedError is produced if an object has additional properties, but not allowed ErrorDetails: property
type AdditionalPropertyNotAllowedError struct { ResultErrorFields }
ArrayContainsError is produced if an array contains invalid items ErrorDetails:
type ArrayContainsError struct { ResultErrorFields }
ArrayMaxItemsError is produced if an array contains more items than the allowed maximum ErrorDetails: max
type ArrayMaxItemsError struct { ResultErrorFields }
ArrayMaxPropertiesError is produced if an object contains more properties than the allowed maximum ErrorDetails: max
type ArrayMaxPropertiesError struct { ResultErrorFields }
ArrayMinItemsError is produced if an array contains less items than the allowed minimum ErrorDetails: min
type ArrayMinItemsError struct { ResultErrorFields }
ArrayMinPropertiesError is produced if an object contains less properties than the allowed minimum ErrorDetails: min
type ArrayMinPropertiesError struct { ResultErrorFields }
ArrayNoAdditionalItemsError is produced if additional items were found, but not allowed ErrorDetails: -
type ArrayNoAdditionalItemsError struct { ResultErrorFields }
ConditionElseError is produced if a condition's "else" condition is invalid ErrorDetails: -
type ConditionElseError struct { ResultErrorFields }
ConditionThenError is produced if a condition's "then" validation is invalid ErrorDetails: -
type ConditionThenError struct { ResultErrorFields }
ConstError indicates a const error ErrorDetails: allowed
type ConstError struct { ResultErrorFields }
DateFormatChecker verifies date formats
Valid format:
Full Date: YYYY-MM-DD Where YYYY = 4DIGIT year MM = 2DIGIT month ; 01-12 DD = 2DIGIT day-month ; 01-28, 01-29, 01-30, 01-31 based on month/year
type DateFormatChecker struct{}
func (f DateFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted date (YYYY-MM-DD)
DateTimeFormatChecker verifies date/time formats per RFC3339 5.6
Valid formats:
Partial Time: HH:MM:SS Full Date: YYYY-MM-DD Full Time: HH:MM:SSZ-07:00 Date Time: YYYY-MM-DDTHH:MM:SSZ-0700 Where YYYY = 4DIGIT year MM = 2DIGIT month ; 01-12 DD = 2DIGIT day-month ; 01-28, 01-29, 01-30, 01-31 based on month/year HH = 2DIGIT hour ; 00-23 MM = 2DIGIT ; 00-59 SS = 2DIGIT ; 00-58, 00-60 based on leap second rules T = Literal Z = Literal Note: Nanoseconds are also suported in all formats
http://tools.ietf.org/html/rfc3339#section-5.6
type DateTimeFormatChecker struct{}
func (f DateTimeFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted date/time per RFC3339 5.6
DefaultJSONLoaderFactory is the default JSON loader factory
type DefaultJSONLoaderFactory struct { }
func (d DefaultJSONLoaderFactory) New(source string) JSONLoader
New creates a new JSON loader for the given source
DefaultLocale is the default locale for this package
type DefaultLocale struct{}
func (l DefaultLocale) AdditionalPropertyNotAllowed() string
AdditionalPropertyNotAllowed returns a format-string to format an AdditionalPropertyNotAllowedError
func (l DefaultLocale) ArrayContains() string
ArrayContains returns a format-string to format an ArrayContainsError
func (l DefaultLocale) ArrayMaxItems() string
ArrayMaxItems returns a format-string to format an ArrayMaxItemsError
func (l DefaultLocale) ArrayMaxProperties() string
ArrayMaxProperties returns a format-string to format an ArrayMaxPropertiesError
func (l DefaultLocale) ArrayMinItems() string
ArrayMinItems returns a format-string to format an ArrayMinItemsError
func (l DefaultLocale) ArrayMinProperties() string
ArrayMinProperties returns a format-string to format an ArrayMinPropertiesError
func (l DefaultLocale) ArrayNoAdditionalItems() string
ArrayNoAdditionalItems returns a format-string to format an ArrayNoAdditionalItemsError
func (l DefaultLocale) ArrayNotEnoughItems() string
ArrayNotEnoughItems returns a format-string to format an error for arrays having not enough items to match positional list of schema
func (l DefaultLocale) CannotBeGT() string
CannotBeGT returns a format-string to format an error where a value are greater than allowed
func (l DefaultLocale) CannotBeUsedWithout() string
CannotBeUsedWithout returns a format-string to format a "cannot be used without" error
func (l DefaultLocale) ConditionElse() string
ConditionElse returns a format-string for ConditionElseError errors
func (l DefaultLocale) ConditionThen() string
ConditionThen returns a format-string for ConditionThenError errors If/Else
func (l DefaultLocale) Const() string
Const returns a format-string to format a ConstError
func (l DefaultLocale) DoesNotMatchFormat() string
DoesNotMatchFormat returns a format-string to format an DoesNotMatchFormatError
func (l DefaultLocale) DoesNotMatchPattern() string
DoesNotMatchPattern returns a format-string to format an DoesNotMatchPatternError
func (l DefaultLocale) Duplicated() string
Duplicated returns a format-string to format an error where types are duplicated
func (l DefaultLocale) Enum() string
Enum returns a format-string to format an EnumError
func (l DefaultLocale) ErrorFormat() string
ErrorFormat returns a format string for errors Replacement options: field, description, context, value
func (l DefaultLocale) False() string
False returns a format-string for "false" schema validation errors
func (l DefaultLocale) GreaterThanZero() string
GreaterThanZero returns a format-string to format an error where a number must be greater than zero
func (l DefaultLocale) HttpBadStatus() string
HttpBadStatus returns a format-string for errors when loading a schema using HTTP
func (l DefaultLocale) Internal() string
Internal returns a format-string for internal errors
func (l DefaultLocale) InvalidPropertyName() string
InvalidPropertyName returns a format-string to format an InvalidPropertyNameError
func (l DefaultLocale) InvalidPropertyPattern() string
InvalidPropertyPattern returns a format-string to format an InvalidPropertyPatternError
func (l DefaultLocale) InvalidType() string
InvalidType returns a format-string for "invalid type" schema validation errors
func (l DefaultLocale) KeyCannotBeGreaterThan() string
KeyCannotBeGreaterThan returns a format-string to format an error where a value is greater than the maximum allowed
func (l DefaultLocale) KeyItemsMustBeOfType() string
KeyItemsMustBeOfType returns a format-string to format an error where a key is of the wrong type
func (l DefaultLocale) KeyItemsMustBeUnique() string
KeyItemsMustBeUnique returns a format-string to format an error where keys are not unique
func (l DefaultLocale) MissingDependency() string
MissingDependency returns a format-string for "missing dependency" schema validation errors
func (l DefaultLocale) MultipleOf() string
MultipleOf returns a format-string to format an MultipleOfError
func (l DefaultLocale) MustBeGTEZero() string
MustBeGTEZero returns a format-string to format an error where a value must be greater or equal than 0
func (l DefaultLocale) MustBeOfA() string
MustBeOfA returns a format-string to format an error where a value is of the wrong type
func (l DefaultLocale) MustBeOfAn() string
MustBeOfAn returns a format-string to format an error where a value is of the wrong type
func (l DefaultLocale) MustBeOfType() string
MustBeOfType returns a format-string to format an error where a value does not match the required type
func (l DefaultLocale) MustBeValidFormat() string
MustBeValidFormat returns a format-string to format an error where a value does not match the expected format
func (l DefaultLocale) MustBeValidRegex() string
MustBeValidRegex returns a format-string to format an error where a regex is invalid
func (l DefaultLocale) NotAValidType() string
NotAValidType returns a format-string to format an invalid type error
func (l DefaultLocale) NumberAllOf() string
NumberAllOf returns a format-string for "allOf" schema validation errors
func (l DefaultLocale) NumberAnyOf() string
NumberAnyOf returns a format-string for "anyOf" schema validation errors
func (l DefaultLocale) NumberGT() string
NumberGT returns the format string to format a NumberGTError
func (l DefaultLocale) NumberGTE() string
NumberGTE returns the format string to format a NumberGTEError
func (l DefaultLocale) NumberLT() string
NumberLT returns the format string to format a NumberLTError
func (l DefaultLocale) NumberLTE() string
NumberLTE returns the format string to format a NumberLTEError
func (l DefaultLocale) NumberNot() string
NumberNot returns a format-string to format a NumberNotError
func (l DefaultLocale) NumberOneOf() string
NumberOneOf returns a format-string for "oneOf" schema validation errors
func (l DefaultLocale) ParseError() string
ParseError returns a format-string for JSON parsing errors
func (l DefaultLocale) ReferenceMustBeCanonical() string
ReferenceMustBeCanonical returns a format-string to format a "reference must be canonical" error
func (l DefaultLocale) RegexPattern() string
RegexPattern returns a format-string to format a regex-pattern error
func (l DefaultLocale) Required() string
Required returns a format-string for "required" schema validation errors
func (l DefaultLocale) StringGTE() string
StringGTE returns a format-string to format an StringLengthGTEError
func (l DefaultLocale) StringLTE() string
StringLTE returns a format-string to format an StringLengthLTEError
func (l DefaultLocale) Unique() string
Unique returns a format-string to format an ItemsMustBeUniqueError
DoesNotMatchFormatError is produced if a string does not match the defined format ErrorDetails: format
type DoesNotMatchFormatError struct { ResultErrorFields }
DoesNotMatchPatternError is produced if a string does not match the defined pattern ErrorDetails: pattern
type DoesNotMatchPatternError struct { ResultErrorFields }
Draft is a JSON-schema draft version
type Draft int
Supported Draft versions
const ( Draft4 Draft = 4 Draft6 Draft = 6 Draft7 Draft = 7 Hybrid Draft = math.MaxInt32 )
EmailFormatChecker verifies email address formats
type EmailFormatChecker struct{}
func (f EmailFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted e-mail address
EnumError indicates an enum error ErrorDetails: allowed
type EnumError struct { ResultErrorFields }
ErrorDetails is a map of details specific to each error. While the values will vary, every error will contain a "field" value
type ErrorDetails map[string]interface{}
FalseError. ErrorDetails: -
type FalseError struct { ResultErrorFields }
FileSystemJSONLoaderFactory is a JSON loader factory that uses http.FileSystem
type FileSystemJSONLoaderFactory struct {
// contains filtered or unexported fields
}
func (f FileSystemJSONLoaderFactory) New(source string) JSONLoader
New creates a new JSON loader for the given source
FormatChecker is the interface all formatters added to FormatCheckerChain must implement
type FormatChecker interface { // IsFormat checks if input has the correct format and type IsFormat(input interface{}) bool }
FormatCheckerChain holds the formatters
type FormatCheckerChain struct {
// contains filtered or unexported fields
}
func (c *FormatCheckerChain) Add(name string, f FormatChecker) *FormatCheckerChain
Add adds a FormatChecker to the FormatCheckerChain The name used will be the value used for the format key in your json schema
func (c *FormatCheckerChain) Has(name string) bool
Has checks to see if the FormatCheckerChain holds a FormatChecker with the given name
func (c *FormatCheckerChain) IsFormat(name string, input interface{}) bool
IsFormat will check an input against a FormatChecker with the given name to see if it is the correct format
func (c *FormatCheckerChain) Remove(name string) *FormatCheckerChain
Remove deletes a FormatChecker from the FormatCheckerChain (if it exists)
HostnameFormatChecker validates a hostname is in the correct format
type HostnameFormatChecker struct{}
func (f HostnameFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted hostname
IPV4FormatChecker verifies IP addresses in the IPv4 format
type IPV4FormatChecker struct{}
func (f IPV4FormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted IPv4-address
IPV6FormatChecker verifies IP addresses in the IPv6 format
type IPV6FormatChecker struct{}
func (f IPV6FormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted IPv6=address
InternalError indicates an internal error ErrorDetails: error
type InternalError struct { ResultErrorFields }
InvalidPropertyNameError is produced if an invalid-named property was found ErrorDetails: property
type InvalidPropertyNameError struct { ResultErrorFields }
InvalidPropertyPatternError is produced if an pattern was found ErrorDetails: property, pattern
type InvalidPropertyPatternError struct { ResultErrorFields }
InvalidTypeError indicates that a field has the incorrect type ErrorDetails: expected, given
type InvalidTypeError struct { ResultErrorFields }
ItemsMustBeUniqueError is produced if an array requires unique items, but contains non-unique items ErrorDetails: type, i, j
type ItemsMustBeUniqueError struct { ResultErrorFields }
JSONLoader defines the JSON loader interface
type JSONLoader interface { JsonSource() interface{} LoadJSON() (interface{}, error) JsonReference() (gojsonreference.JsonReference, error) LoaderFactory() JSONLoaderFactory }
func NewBytesLoader(source []byte) JSONLoader
NewBytesLoader creates a new JSONLoader, taking a `[]byte` as source
func NewGoLoader(source interface{}) JSONLoader
NewGoLoader creates a new JSONLoader from a given Go struct
func NewRawLoader(source interface{}) JSONLoader
NewRawLoader creates a new JSON raw loader for the given source
func NewReaderLoader(source io.Reader) (JSONLoader, io.Reader)
NewReaderLoader creates a new JSON loader using the provided io.Reader
func NewReferenceLoader(source string) JSONLoader
NewReferenceLoader returns a JSON reference loader using the given source and the local OS file system.
func NewReferenceLoaderFileSystem(source string, fs http.FileSystem) JSONLoader
NewReferenceLoaderFileSystem returns a JSON reference loader using the given source and file system.
func NewStringLoader(source string) JSONLoader
NewStringLoader creates a new JSONLoader, taking a string as source
func NewWriterLoader(source io.Writer) (JSONLoader, io.Writer)
NewWriterLoader creates a new JSON loader using the provided io.Writer
JSONLoaderFactory defines the JSON loader factory interface
type JSONLoaderFactory interface { // New creates a new JSON loader for the given source New(source string) JSONLoader }
JSONPointerFormatChecker validates a JSON Pointer per RFC6901
type JSONPointerFormatChecker struct{}
func (f JSONPointerFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted JSON Pointer per RFC6901
JsonContext implements a persistent linked-list of strings
type JsonContext struct {
// contains filtered or unexported fields
}
func NewJsonContext(head string, tail *JsonContext) *JsonContext
NewJsonContext creates a new JsonContext
func (c *JsonContext) String(del ...string) string
String displays the context in reverse. This plays well with the data structure's persistent nature with Cons and a json document's tree structure.
MissingDependencyError is produced in case of a "missing dependency" problem ErrorDetails: dependency
type MissingDependencyError struct { ResultErrorFields }
MultipleOfError is produced if a number is not a multiple of the defined multipleOf ErrorDetails: multiple
type MultipleOfError struct { ResultErrorFields }
NumberAllOfError is produced in case of a failing "allOf" validation ErrorDetails: -
type NumberAllOfError struct { ResultErrorFields }
NumberAnyOfError is produced in case of a failing "anyOf" validation ErrorDetails: -
type NumberAnyOfError struct { ResultErrorFields }
NumberGTEError is produced if a number is lower than the allowed minimum ErrorDetails: min
type NumberGTEError struct { ResultErrorFields }
NumberGTError is produced if a number is lower than, or equal to the specified minimum, and exclusiveMinimum is set ErrorDetails: min
type NumberGTError struct { ResultErrorFields }
NumberLTEError is produced if a number is higher than the allowed maximum ErrorDetails: max
type NumberLTEError struct { ResultErrorFields }
NumberLTError is produced if a number is higher than, or equal to the specified maximum, and exclusiveMaximum is set ErrorDetails: max
type NumberLTError struct { ResultErrorFields }
NumberNotError is produced if a "not" validation failed ErrorDetails: -
type NumberNotError struct { ResultErrorFields }
NumberOneOfError is produced in case of a failing "oneOf" validation ErrorDetails: -
type NumberOneOfError struct { ResultErrorFields }
RegexFormatChecker validates a regex is in the correct format
type RegexFormatChecker struct{}
func (f RegexFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted regular expression
RelativeJSONPointerFormatChecker validates a relative JSON Pointer is in the correct format
type RelativeJSONPointerFormatChecker struct{}
func (f RelativeJSONPointerFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted relative JSON Pointer
RequiredError indicates that a required field is missing ErrorDetails: property string
type RequiredError struct { ResultErrorFields }
Result holds the result of a validation
type Result struct {
// contains filtered or unexported fields
}
func Validate(ls JSONLoader, ld JSONLoader) (*Result, error)
Validate loads and validates a JSON schema
func (v *Result) AddError(err ResultError, details ErrorDetails)
AddError appends a fully filled error to the error set SetDescription() will be called with the result of the parsed err.DescriptionFormat()
func (v *Result) Errors() []ResultError
Errors returns the errors that were found
func (v *Result) Valid() bool
Valid indicates if no errors were found
ResultError is the interface that library errors must implement
type ResultError interface { // Field returns the field name without the root context // i.e. firstName or person.firstName instead of (root).firstName or (root).person.firstName Field() string // SetType sets the error-type SetType(string) // Type returns the error-type Type() string // SetContext sets the JSON-context for the error SetContext(*JsonContext) // Context returns the JSON-context of the error Context() *JsonContext // SetDescription sets a description for the error SetDescription(string) // Description returns the description of the error Description() string // SetDescriptionFormat sets the format for the description in the default text/template format SetDescriptionFormat(string) // DescriptionFormat returns the format for the description in the default text/template format DescriptionFormat() string // SetValue sets the value related to the error SetValue(interface{}) // Value returns the value related to the error Value() interface{} // SetDetails sets the details specific to the error SetDetails(ErrorDetails) // Details returns details about the error Details() ErrorDetails // String returns a string representation of the error String() string }
ResultErrorFields holds the fields for each ResultError implementation. ResultErrorFields implements the ResultError interface, so custom errors can be defined by just embedding this type
type ResultErrorFields struct {
// contains filtered or unexported fields
}
func (v *ResultErrorFields) Context() *JsonContext
Context returns the JSON-context of the error
func (v *ResultErrorFields) Description() string
Description returns the description of the error
func (v *ResultErrorFields) DescriptionFormat() string
DescriptionFormat returns the format for the description in the default text/template format
func (v *ResultErrorFields) Details() ErrorDetails
Details returns details about the error
func (v *ResultErrorFields) Field() string
Field returns the field name without the root context i.e. firstName or person.firstName instead of (root).firstName or (root).person.firstName
func (v *ResultErrorFields) SetContext(context *JsonContext)
SetContext sets the JSON-context for the error
func (v *ResultErrorFields) SetDescription(description string)
SetDescription sets a description for the error
func (v *ResultErrorFields) SetDescriptionFormat(descriptionFormat string)
SetDescriptionFormat sets the format for the description in the default text/template format
func (v *ResultErrorFields) SetDetails(details ErrorDetails)
SetDetails sets the details specific to the error
func (v *ResultErrorFields) SetType(errorType string)
SetType sets the error-type
func (v *ResultErrorFields) SetValue(value interface{})
SetValue sets the value related to the error
func (v ResultErrorFields) String() string
String returns a string representation of the error
func (v *ResultErrorFields) Type() string
Type returns the error-type
func (v *ResultErrorFields) Value() interface{}
Value returns the value related to the error
Schema holds a schema
type Schema struct {
// contains filtered or unexported fields
}
func NewSchema(l JSONLoader) (*Schema, error)
NewSchema instances a schema using the given JSONLoader
func (d *Schema) SetRootSchemaName(name string)
SetRootSchemaName sets the root-schema name
func (v *Schema) Validate(l JSONLoader) (*Result, error)
Validate loads and validates a JSON document
SchemaLoader is used to load schemas
type SchemaLoader struct { AutoDetect bool Validate bool Draft Draft // contains filtered or unexported fields }
func NewSchemaLoader() *SchemaLoader
NewSchemaLoader creates a new NewSchemaLoader
func (sl *SchemaLoader) AddSchema(url string, loader JSONLoader) error
AddSchema adds a schema under the provided URL to the schema cache
func (sl *SchemaLoader) AddSchemas(loaders ...JSONLoader) error
AddSchemas adds an arbritrary amount of schemas to the schema cache. As this function does not require an explicit URL, every schema should contain an $id, so that it can be referenced by the main schema
func (sl *SchemaLoader) Compile(rootSchema JSONLoader) (*Schema, error)
Compile loads and compiles a schema
StringLengthGTEError is produced if a string is shorter than the minimum required length ErrorDetails: min
type StringLengthGTEError struct { ResultErrorFields }
StringLengthLTEError is produced if a string is longer than the maximum allowed length ErrorDetails: max
type StringLengthLTEError struct { ResultErrorFields }
TimeFormatChecker verifies time formats
Valid formats:
Partial Time: HH:MM:SS Full Time: HH:MM:SSZ-07:00 Where HH = 2DIGIT hour ; 00-23 MM = 2DIGIT ; 00-59 SS = 2DIGIT ; 00-58, 00-60 based on leap second rules T = Literal Z = Literal
type TimeFormatChecker struct{}
func (f TimeFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input correctly formatted time (HH:MM:SS or HH:MM:SSZ-07:00)
URIFormatChecker validates a URI with a valid Scheme per RFC3986
type URIFormatChecker struct{}
func (f URIFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is correctly formatted URI with a valid Scheme per RFC3986
URIReferenceFormatChecker validates a URI or relative-reference per RFC3986
type URIReferenceFormatChecker struct{}
func (f URIReferenceFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted URI or relative-reference per RFC3986
URITemplateFormatChecker validates a URI template per RFC6570
type URITemplateFormatChecker struct{}
func (f URITemplateFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted URI template per RFC6570
UUIDFormatChecker validates a UUID is in the correct format
type UUIDFormatChecker struct{}
func (f UUIDFormatChecker) IsFormat(input interface{}) bool
IsFormat checks if input is a correctly formatted UUID