Higher order component that calls useValidation
hook to the input component
Main validation logic
Input must be have a value
Input must match regex pattern
Input length must be within the specified range
Input must be unique within an array of existing values
Must provide a validator function