now panic less, instead of panicing when data types do not match
in the field and cross field validations, the validation just
fails, because it's true i.e. does nil != 5 pass
or does nil == "string" nope fail
updated required validator to check for a nil value for types:
slice, map, pointer, interface, channel and function.
updated tranverseField to handle invalid field type.
Changes to be committed:
modified: baked_in.go
modified: doc.go
modified: validator.go
modified: validator_test.go
updating test for the new error return formet
updated assertion functions to handle a nil Map,Slice,Ptr.....type
fixed hasValue check not comparing Interface but field Value.
initial function layouts and validation completed, still need to rework
all of the baked in functions, add map and array traversal and add back original
test cases.
NOTE: a far more pragmatic validation tests will be added, but not until it has
been proven stable with at least the old tests.
updated baked in functions:
hasLengthOf
isGt
isGte
isLt
isLte
to use utf8.RuneCountInString for string length comparisons, not counting multi-bye
characters but runes in string length comparisons.
add lt validation function + test code
add lte validation function + test code
add gt validation function + test code
add get validation function + test code
add rgb color validation function + Test Code
add rgba color validation function + Test Code
add hsl color validation function + Test Code
add hula color validation function + Test Code
add numeric validation function + Test Cases
add number validation function + Test Cases
add hexadecimal validation function + Test Cases
add hexcolor validation function + Test Cases
add email validation function + Test Cases